学习Linq时,经常会遇到Linq To SQL数据问题,这里将介绍Linq To SQL数据问题的解决方法。

很久之前,在我刚学数据库编程的时候,就希望直接建一个数据库通用的操作类, 即写 Insert(类实例), 那么剩下的工作就交给底层代码来实现如何Insert。 现在接触了Linq, 感觉离这个梦想的实现已经不远了。
下面就分享一下我的源代码,很简单,估计刚学Linq的人也能看懂。
1. 建一个project 命名为DLinq ,添加一个Linq To SQL数据源,这里以经典的Northwind数据库为例,命名为NWDB.dbml 。
2. 建另一个Project 为DAL层 ,添加一个Table工厂, 这样我们就可以通过实体来获得Table
- using System;
 - using System.Collections.Generic;
 - using System.Linq;
 - using System.Text;
 - namespace DAL
 - {
 - public staticclass TableFactory
 - {
 - public static System.Data.Linq.Table
 CreateTable () where T : class - {
 - return Database.NWDB.GetTable
 (); - }
 - }
 - }
 
- using System;
 - using System.Collections.Generic;
 - using System.Linq;
 - using System.Text;
 - namespace DAL
 - {
 - publicstatic class Database
 - {
 - private static DLinq.NWDBDataContext _NWDB = null;
 - public static DLinq.NWDBDataContext NWDB
 - {
 - get
 - {
 - if (_NWDB == null)
 - _NWDB = new DLinq.NWDBDataContext();
 - return _NWDB;
 - }
 - }
 - }
 - }
 
3. 借助Linq的特性,现在就可以写通用的数据库操作类了
- using System;
 - using System.Collections.Generic;
 - using System.Linq;
 - using System.Text;
 - namespace DAL
 - {
 - public class Utility
 - {
 - public static void Insert
 (T TEntity) where T : class - {
 - var table = TableFactory.CreateTable
 (); - table.InsertOnSubmit(TEntity);
 - }
 - public static IEnumerable
 Where (Func , bool> predicate) where T : class - {
 - var table = TableFactory.CreateTable
 (); - return table.Where(predicate).AsEnumerable();
 - }
 - public static void SubmitChanges()
 - {
 - Database.NWDB.SubmitChanges();
 - }
 - }
 - }
 
【编辑推荐】
                当前名称:LinqToSQL数据概括
                
                URL标题:http://www.csdahua.cn/qtweb/news1/467051.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网