LINQ to SQL学习的几个问题

问题一:

什么情况下我们使用自动属性功能,生成自动属性时内部没有明确的私有变量那么我们如何访问这个私有变量呢?
如果不能那我们的封装还有什么存在的意义?

ContractedBlock.gifExpandedBlockStart.gifCode
  1ExpandedBlockStart.gifContractedBlock.gif /**//// <summary>
  2    /// net 2.0中使用的方法来定义Email类
  3    /// </summary>

  4    public class Email20
  5ExpandedBlockStart.gifContractedBlock.gif    {
  6        
  7        private string _EmailAddress;
  8        public string  EmailAddress
  9ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 10ExpandedSubBlockStart.gifContractedSubBlock.gif            set {_EmailAddress=value ;}
 11ExpandedSubBlockStart.gifContractedSubBlock.gif            get {return _EmailAddress;}
 12        }

 13        public static bool IsValid(Email20 _Email)
 14ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 15            Regex regex = new Regex(@"^[\w-\.]+@(\w+\.)+[\w-]{2,4}$");
 16            return regex.IsMatch(_Email._EmailAddress);
 17        }

 18    }

 19
 20
 21    //set方法的中间代码
 22
 23    //    .method public hidebysig specialname instance void 
 24    //        set_EmailAddress(string 'value') cil managed
 25    //{
 26    //  // 代码大小       9 (0x9)
 27    //  .maxstack  8
 28    //  IL_0000:  nop
 29    //  IL_0001:  ldarg.0
 30    //  IL_0002:  ldarg.1
 31    //  IL_0003:  stfld      string linq1.Email20::_EmailAddress
 32    //  IL_0008:  ret
 33    //// end of method Email20::set_EmailAddress
 34
 35    //Get方法的中间代码
 36
 37    //.method public hidebysig specialname instance string 
 38    //        get_EmailAddress() cil managed
 39    //{
 40    //  // 代码大小       12 (0xc)
 41    //  .maxstack  1
 42    //  .locals init ([0] string CS$1$0000)
 43    //  IL_0000:  nop
 44    //  IL_0001:  ldarg.0
 45    //  IL_0002:  ldfld      string linq1.Email20::_EmailAddress
 46    //  IL_0007:  stloc.0
 47    //  IL_0008:  br.s       IL_000a
 48    //  IL_000a:  ldloc.0
 49    //  IL_000b:  ret
 50    //// end of method Email20::get_EmailAddress
 51
 52
 53
 54
 55
 56
 57
 58ExpandedBlockStart.gifContractedBlock.gif    /**//// <summary>
 59    /// net 3.5 中使用方法来定义Email类
 60    /// </summary>

 61    public class Email35
 62ExpandedBlockStart.gifContractedBlock.gif    {
 63ExpandedSubBlockStart.gifContractedSubBlock.gif        /**//// <summary>
 64        /// net 3.5的属性的简略写法(称其为自动属性 Auto Implemented Properties)
 65        /// </summary>

 66
 67ExpandedSubBlockStart.gifContractedSubBlock.gif        public string EmailAddress setget; }
 68
 69        //使用扩展方法后这些函数就没必要搁在这里了 见Extensions
 70        //public static bool IsValid()
 71        //{
 72 
 73        //}
 74    }

 75
 76    //get自动属性生成的中间代码
 77
 78    //.method public hidebysig specialname instance string 
 79    //        get_EmailAddress() cil managed
 80    //{
 81    //  .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) 
 82    //  // 代码大小       11 (0xb)
 83    //  .maxstack  1
 84    //  .locals init (string V_0)
 85    //  IL_0000:  ldarg.0
 86    //  IL_0001:  ldfld      string linq1.Email35::'<EmailAddress>k__BackingField'
 87    //  IL_0006:  stloc.0
 88    //  IL_0007:  br.s       IL_0009
 89    //  IL_0009:  ldloc.0
 90    //  IL_000a:  ret
 91    //// end of method Email35::get_EmailAddress
 92
 93    //set自动属性生成的中间代码
 94
 95    //.method public hidebysig specialname instance void 
 96    //        set_EmailAddress(string 'value') cil managed
 97    //{
 98    //  .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) 
 99    //  // 代码大小       8 (0x8)
100    //  .maxstack  8
101    //  IL_0000:  ldarg.0
102    //  IL_0001:  ldarg.1
103    //  IL_0002:  stfld      string linq1.Email35::'<EmailAddress>k__BackingField'
104    //  IL_0007:  ret
105    //// end of method Email35::set_EmailAddress
106
107

 

问题2:

查找每个类别中单价最高的产品:(其实这样做是达不到直接显示结果的要求的)
在gridview中没法显示出来。

ContractedBlock.gifExpandedBlockStart.gifCode
 1var categories =
 2    from p in db.Products
 3    group p by p.CategoryID into g
 4ExpandedBlockStart.gifContractedBlock.gif    select new {
 5        g.Key,
 6        MostExpensiveProducts =
 7            from p2 in g
 8            where p2.UnitPrice == g.Max(p3 => p3.UnitPrice)
 9            select p2
10    }
;
11

 

问题3:

下面这两行代码怎么得到的结果是一个为什么结怎么有一个Length列呢(只是字符内容的长度)

ContractedBlock.gifExpandedBlockStart.gifCode
1ExpandedBlockStart.gifContractedBlock.gifvar citys = from p in db.Customers select new { p.Country,p.City };
2this.dataGridView1.DataSource = citys;
3

 

 

 

转载于:https://www.cnblogs.com/itelite/archive/2009/03/11/linqproblems1.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264396.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# foreach遇到async和await

一个简单的列子&#xff0c;需要把一个集合的数据添加到数据库中。 我先这样写了&#xff0c;然后报错了 public async Task<IHttpActionResult> Test([FromUri]string name ""){List<string> strList new List<string>() { "测试", &…

MVC RC2中关于HtmlHelper给DropDownList设置初始选中值的问题

Asp.Net MVC RC2中Helper提供的DropDownList好象并不太好用&#xff0c;特别想给下拉框设置初始选中值的时候&#xff08;可能我还没找到正确的方法&#xff09; 小试了一下&#xff0c;有二个简单的解决办法:1.回到最原始的asp的办法&#xff0c;直接在view的循环中判断&#…

linux硬盘检测工具,CrazyDiskInfo 硬盘检测工具 Linux版 | 厘米天空

之前本站介绍过CrystalDiskInfo这款windows下的硬盘检测工具&#xff0c;今天来看看Linux下的版本CrazyDiskInfo。CrazyDiskInfo是一款用于Unix类系统的交互式TUI S.M.A.R.T查看器&#xff0c;可以查看硬盘健康情况&#xff0c;是否有坏扇区等。项目地址&#xff1a;https://gi…

linux 远程图形终端,图形终端远程操作Linux

一、想要在远程终端运用图形界面来操作和控制Linux效劳器&#xff0c;就在windows下像运用MSTSC(远程桌面)一样。linux经过XDMCP来提供这种支持&#xff0c;我们只需用一个终端仿真软件&#xff1a;xmanager&#xff0c;但是装完Xmanager后是不能直接远程衔接Linux效劳器的Xwin…

windows下nginx的安装及使用

1.下载nginx http://nginx.org/en/download.html 下载稳定版本&#xff0c;以nginx/Windows-1.12.2为例&#xff0c;直接下载 nginx-1.12.2.zip 下载后解压&#xff0c;解压后如下 2.启动nginx 有很多种方法启动nginx (1)直接双击nginx.exe&#xff0c;双击后一个黑色的…

win8.1出现 called runscript when not marked in progress

1.打开任务管理器-详细信息-结束图片中选择的进程 2.然后在任务管理器左上角“文件“>运行新任务&#xff1a; 输入C:\\Windows\explorer.exe&#xff0c;并勾选”以系统管理权限创建此任务“&#xff0c;点击确定&#xff1a; 3.这样就可以继续安装了。 转载于:https://www…

学游泳

今天上午又去了人大附中&#xff0c;门紧锁着&#xff0c;去正门一问才知道&#xff0c;要周末下午1点30才开门&#xff0c;平时是5点30。回家吧&#xff0c;外面居然下起了星星点点的小雪&#xff0c;北京的三月…… 学蛙泳 老旱四诀之蛙泳 分手压腕, 双锚拉纤, 高肘抱水, 翻…

Linux ftp ldap认证,vsftpd+ldap认证

一、环境系统 CentOS 6.4x64最小化安装IP 192.168.3.19二、安装ldap[roottest ~]# yum install openldap openldap-* -y[roottest ~]# yum install nscd nss-pam-ldapd nss-* pcre pcre-* -y配置ldap[roottest ~]# cd /etc/openldap/[roottest openldap]# cp /usr/sha…

浏览器的渲染原理

看到这个标题大家一定会想到这篇神文《How Browsers Work》&#xff0c;这篇文章把浏览器的很多细节讲得很细&#xff0c;而且也被翻译成了中文。为什么我还想写一篇呢&#xff1f;因为两个原因&#xff0c; 1&#xff09;这篇文章太长了&#xff0c;阅读成本太大&#xff0c;不…

Linux环境变量PSI指什么,PSI 文件扩展名: 它是什么以及如何打开它?

了解 PSI 问题常见的 PSI 打开问题缺少 PrimalScript双击你的 PSI 文件会提示消息 “%%os%% 无法打开 PSI 文件”。 通常&#xff0c;%%os%% 中会出现这种情况&#xff0c;因为 PrimalScript 未安装在你的电脑上。 由于您的操作系统不知道如何处理此文件&#xff0c;因此无法通…

linux 命令tf,Linux文件管理命令

本篇涉及命令&#xff1a;cat,tac,more,less,head,tail,file,stat,touch,which,whatis,whereis,ls,mkdir,rmdir,tree,cp,mv,rm文本文件查看类命令cat 查看文件内容(concatenate)cat命令用于查看一个或多个文本文件内容&#xff0c;可以将两个或两个以上的文件连接起来并显示&am…

Python实现——二元线性回归(最小二乘法)

2019/3/30二元线性回归——矩阵公式法_又名&#xff1a;对于python科学库的糟心尝试_ 二元线性回归严格意义上其实不过是换汤不换药&#xff0c;我对公式进行推导&#xff0c;其实也就是跟以前一样的求偏导并使之为零&#xff0c;并且最终公式的严格推导我大概也只能说是将将理…

CSharp设计模式读书笔记(18):中介者模式(学习难度:★★★☆☆,使用频率:★★☆☆☆)...

中介者模式(Mediator Pattern)&#xff1a;用一个中介对象&#xff08;中介者&#xff09;来封装一系列的对象交互&#xff0c;中介者使各对象不需要显式地相互引用&#xff0c;从而使其耦合松散&#xff0c;而且可以独立地改变它们之间的交互&#xff0c;中介者模式又称为调停…

linux四种集群是什么,lvs四种集群特点及使用场景

一、 前言当一组服务器在高速的局域网或广域网中相互连接&#xff0c;其前端部署了一个负责负载调度的调度器(Director)的服务器系统。调度器能将网络请求无缝调度到真实服务器上(Real server)&#xff0c;客户访问集群系统提供的网络服务就像访问一台高性能、高可用的服务器一…

BroadcastReceiver应用详解(转)

转自&#xff1a; http://blog.csdn.net/liuhe688/article/details/6955668 問渠那得清如許&#xff1f;為有源頭活水來。南宋.朱熹《觀書有感》 据说程序员是最爱学习的群体&#xff0c;IT男都知道&#xff0c;这个行业日新月异&#xff0c;必须不断地学习新知识&#xff0c;不…

如何在 Windows Server 2003、Windows 2000 和 Windows XP 中备份恢复代理的加密文件系统 (EFS) 私钥...

本 文介绍了如何在运行 Microsoft Windows Server 2003、Microsoft Windows 2000 或 Microsoft Windows XP 的计算机上备份恢复代理加密文件系统 (EFS) 私钥。当位于本地计算机上的 EFS 私钥副本丢失时&#xff0c;请使用恢复代理的私钥恢复数据。本文包含有关如何使用证书导出…

你可能从未听过的 Linux 发行版

Hanthana Linux 官方主页&#xff1a;http://www.hanthana.org Hanthana Linux 基于 Fedora&#xff0c;主要面向 IT 教育&#xff0c;默认包含额外的编/解码器及多媒体播放器。它提供可安装到硬盘的 LiveDVD&#xff0c;支持 i686 和 x86_64 架构。 ROSA Linux 官方主页&#…

从壹开始 [vueAdmin后台] 之三 || 动态路由配置 项目快速开发

回顾 今天VS 2019正式发布&#xff0c;实验一波&#xff0c;你安装了么&#xff1f;Blog.Core 预计今天会升级到 Core 3.0 版本。 哈喽大家周三好&#xff01;本来今天呢要写 Id4 了&#xff0c;但是写到了一半&#xff0c;突然有人问到了关于 Blog.Admin 管理后台的一些问题&a…

c语言支持默认参数吗,嵌入式C语言可以带“默认参数”的函数吗

描述(文章来源&#xff1a;嵌入式时代)使用C开发过程序时&#xff0c;定义函数可以指定默认参数&#xff0c;例如 void fun(int x, int y3); 在调用 fun() 时第二个参数可以不传递&#xff0c;此时 fun() 函数默认第二个参数等于 3&#xff0c;例如 f(1) 就相当于 f(1,3)。这是…

《从零开始学习ASP.NET MVC 1.0》-开天辟地入门篇

《从零开始学习ASP.NET MVC 1.0》 文章导航 (一) 开天辟地入门篇 (二) 识别URL的Routing组件 (三) Controller/Action 深入解析与应用实例 (四) View/Model 全解 (五) ViewEngine 深入解析与应用实例 一.摘要 随着ASP.NET MVC 1.0版本的正式发布, 我将本系列文章也更新到了1.0,…