学习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数据概括
文章起源:http://www.shufengxianlan.com/qtweb/news1/467051.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联