LinQ to Sql

来源:互联网 发布:台词 知乎 编辑:程序博客网 时间:2024/05/22 06:43

java平台上,ORM这一块Hiberante是相当的.但是在谈到.NET平台.ORM框架就有些不一样了.Nhibernate,NbeatCastel,以及我要说的linQ to Sql

Tosql是微软自己的产品。现在用的或许很少了,但是如果做一个中小型的项目,开发和部署还是很好的,不必考虑第

三方库。但是Tosql毕竟是直接面对数据库的。这个操作我有些用不惯,这里就简单介绍了。

要想使用Linq to Sql,实现需要建立好数据库。

Step1 建立LINQ to SQL Classes文件

   在实体层中选择添加新项 LinQ to SQL,并命名。



Setp2建立数据库连接生产代码

       VS视图中打开是服务资源管理,添加connection连接。填写服务器名称与数据库名称。我这里是本地就用window

验证了



打开刚才创建的 LinQ toSql文件。将数据中的表托动态文件上



保存后ORM映射就完成了,这里没有XML文件,所以相对NH简单,但是也存在隐患。修改就难了。

Step3操作数据

这里我就以控制台操作了。 3个实例,分别对应到添加单条数据,删除集合,以及查询

添加

public   static  void Add(){//声明实体Commodity commidity = new Commodity{Code=Guid.NewGuid().ToString(),CommodityName="月饼",CommodityPrice=500,CommodityType="2"};Console.WriteLine("=----begin add commidity");using(DataClasses1DataContext bd= new DataClasses1DataContext()){bd.Log=Console.Out;//控制台输出bd.Commodity.InsertOnSubmit(commidity);//调用tosql的方法bd.SubmitChanges();////事务机制被封装到SubmitChanges方法内Console.WriteLine("----end add  commidity");}

新东西到没有什么


删除(集合)

public static void Delete(){Console.WriteLine("-----------begin delete all commidity");using (DataClasses1DataContext bd = new DataClasses1DataContext()){bd.Log = Console.Out;bd.Commodity.DeleteAllOnSubmit(bd.Commodity.Where(p => p.CommodityName == "月饼"));//删除为查询到的集合实体集,bd.SubmitChanges();}Console.WriteLine("------------end Delete commidity");}

我们看打印的sql语句是以and的形式连接的



查询

再看最重要的查询,说到查询,就得和LinQ to Object联系起来了,这里的查询如出一辙,写法也是相同的。

public static List<Commodity> select(){//务必先实例化数据集dbDataClasses1DataContext db= new DataClasses1DataContext();//集合形式List<Commodity> commiditys = db.Commodity.ToList();//条件形式List<Commodity> commdityWhere=db.Commodity.Where(p => p.CommodityName == "水").ToList();//查询与选择var commodityWhereSel = db.Commodity.Distinct().Where(p =>p.CommodityName == "月饼").Select(a => a.CommodityPrice);//选择List<string> commidityName=db.Commodity.Select(p => p.CommodityName).ToList();return commdityWhere;}

操作与 To Object是一样的,细心的你是否发现 只不多这里不再是传递集合数据了呢,而是db.表名称。

 总结

以上是LinQ to Sql基本的操作,只在查询中添加了简单的条件限制,我认为是操作中常用的,当然了还有排序等。虽然本人并不善用to Sql,还是希望对入门的同学们有所启发。

 

 

4 0
原创粉丝点击