学习LINQ时,经常会遇到LINQ映射数据库问题,这里将介绍LINQ映射数据库问题的解决方法。
语言集成查询 (LINQ) 是 Visual Studio 2008 和 .NET Framework 3.5 版中一项突破性的创新,它在对象领域和数据领域之间架起了一座桥梁
***一项目用到LinQ ,所以急冲冲都学习了LinQ语书写,下面是我个人在项目中总结用到LinQ 的技术点,说的不好,请大家给出指教,有人这样说,LinQ就是FrameWork2.0中DataSet的升级版,我也有同感,首先在写这遍文章之前我,给大家推荐一款LinQ的编写工具,LinQPad 工具,http://www.linqpad.net/ 这个地址有下载,工具说好也有好,说不好就是不能从SQL语句 换成 LinQ 的语法,
LINQ映射数据库
Linq映射数据库文件中常有 private System.Nullable<int> 这样的数据类型出现,刚接触的可以不太清楚, 这里是根据你数据库字段来映射的, System.Nullable<int> 映射到你的数据库字段就是 可以为NULL 的 int 类型的字段,这个类型在C#语法中,给这个字段赋值时会存在一个 int? 的出现,会报一个错语,说不引用出错。这是我项目中常出现的问题。
常用的解决方法是
1.修改数据库字段,将int 类型字段 可为空 改成 不能为空,并给出默认值。再将数据表重新映射 LINQ
2.重新定义一个实体类,将int?类型强制转换成int类型。
LinQ的语法操作是延时的,所在做事务操作时
- using (DBTablesMappingDataContext dc = new DBTablesMappingDataContext(_connString))
- {
- //这里面的任何操作都可以看作是一个事务 不再需要去开如一个事务。
- }
【编辑推荐】