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,一经查实,立即删除!

相关文章

linux 运行pfx文件,Linux下pfx证书导出key和crt

Linux下.pfx证书导出.key和.crt1.确定openssl路径&#xff1a;openssl version -aOpenSSL 1.0.1e-fips 11 Feb 2013built on: Mon Jun 29 12:45:07 UTC 2015platform: linux-x86_64options: bn(64,64) md2(int) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx)comp…

C# foreach遇到async和await

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

BZOJ2584 : [Wc2012]memory

xy方向分开考虑 用扫描线处理出拓扑序&#xff0c;第二问直接回答拓扑序&#xff0c; 第一问&#xff1a; 将操作倒过来&#xff0c;变成加入线段&#xff0c;用线段树维护区间拓扑序的最值 #include<cstdio> #include<algorithm> #include<set> #define N 1…

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

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

linux内存管理简介,Linux操作系统的内存管理特性简介 (3)

输出的第一行(Mem:)显示出物理内存的使用情况。总和(total)列中并没有显示出被内核使用的内存&#xff0c;它通常将近一兆字节。已用列(used column)显示出已用内存的总和(第二行没有把缓冲算进来)。空闲列(free column)显示了所有未被使用的空闲内存。共享列(shared column)显…

2019.03.29 NOIP训练 友好国度(点分治+容斥)

传送门 思路&#xff1a; 直接上点分治容斥计算每个因数对应的贡献即可。 代码&#xff1a; #include<bits/stdc.h> #define ri register int using namespace std; const int rlen1<<18|1; inline char gc(){static char buf[rlen],*ib,*ob;(ibob)&&(ob(i…

Cocos2d-x 3.2 异步动态加载 -- 保卫萝卜开发总结

from http://cn.cocos2d-x.org/tutorial/show?id1277本章只分享一下异步加载的逻辑&#xff0c;如有不对的地方还望大家及时指出。目前我代码中需要异步加载的资源一共有四类&#xff1a;1.png&#xff0c;单个png的情况比较少2.plist和png一起的打包资源3.plist和pvr.ccz一起…

CISSP的成长之路(九):复习信息安全管理(3)

上一篇文章《复习信息安全治理&#xff08;2&#xff09;》里&#xff0c;J0ker给大家简单介绍了风险分析和评估的一些要点。我们都知道&#xff0c;假如同时做多个事情&#xff0c;就需要按照事情的轻重缓急来安排好执行的顺序和投入&#xff0c;实施信息安全项目时也必须如此…

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

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

PHP中this,self,parent的区别

一、 PHP中this,self,parent的区别之一this篇 面向对象编程(OOP,Object OrientedProgramming)现已经成为编程人员的一项基本技能。利用OOP的思想进行PHP的高级编程&#xff0c;对于提高PHP编程能力和规划web开发构架都是很有意义的。 PHP5经过重写后&#xff0c;对OOP的支持额有…

ListView下拉刷新、上拉载入更多之封装改进

在Android中ListView下拉刷新、上拉载入更多示例一文中&#xff0c;Maxwin兄给出的控件比较强大&#xff0c;前面有详细介绍&#xff0c;但是有个不足就是&#xff0c;里面使用了一些资源文件&#xff0c;包括图片&#xff0c;String&#xff0c;layout&#xff0c;这样不利于封…

Refactoring Connection To Sql

您的程序不必登录设计一个库&#xff0c;注册设计一个库&#xff0c;一个站点设计一个库即可。您的连接数据库的字符串有写错&#xff0c;另外建议不要用中文来命名站点名或是网页名称。 Refactoring之后做法如下&#xff1a; 文件格式&#xff1a;.wmv&#xff1b;大小&#x…

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中内联函数,Windows 7上的内联函数的doParallel问题(适用于Linux)

我在Windows 7和Linux(SUSE Server 11(x86_64))上都使用R 3.0.1.以下示例代码在Windows上产生错误,但在Linux上不产生错误.列出的所有工具箱在两台机器中都是最新的.Windows错误是&#xff1a;Error in { : task 1 failed - "NULL value passed as symbol address"如…

Content-Disposition 响应头,设置文件在浏览器打开还是下载

Content-Disposition属性有两种类型&#xff1a;inline 和 attachment inline &#xff1a;将文件内容直接显示在页面 attachment&#xff1a;弹出对话框让用户下载 code: context.Response.ContentType "text/plain"; string fileName context.Request[&qu…

两个栈实现双端队列

一个笔试题&#xff0c;当时竟然没想出来&#xff0c;现在实现下 1 /*2 用两个栈实现双端队列3 栈s1&#xff0c;s2。4 pushback()和popback(),必须在s2为空的情况&#xff0c;把s2的都放s1中5 pushfront()和popfront(),必须是在s1为空&#xff0c;把s1的都给放到s2中6 */7 #in…

Java web 打印方案---数飞OA打印方案总结

Web系统中&#xff0c;打印功能一直是个老大难问题&#xff0c;因此产生了很多第三方的控件&#xff0c;多数要收费&#xff0c;而且跟自己的系统结合有一定的麻烦。数飞OA系统采用J2EE技术&#xff0c;jsp打印问题同样存在于OA中。 在数飞OA中&#xff0c;打印方式有三种&…