日期:2014-05-20  浏览次数:20969 次

linq对数据的操作如何更简洁
刚刚学习linq(惭愧),
比如以个简单的添加数据
DataClassesDataContext ctx = new DataClassesDataContext();
         news news1 = new news();
        news1.title = "大气11象";
        news1.addtime=DateTime.Now;
        ctx.news.InsertOnSubmit(news1);
        ctx.SubmitChanges();

如何简化成
news news1 = new news();
news1.title = "大气11象";
news1.addtime=DateTime.Now;
add(news1);
//这样就定义了一个实体类
直接调用add方法,传入对象news1。
add方法如何实现,因为传入的实体类不固定,可能是对应的别的表
ctx.news.InsertOnSubmit(news1);//不能固定写ctx.news
ctx.SubmitChanges();

是否可行,不胜感激。
LINQ

------解决方案--------------------
try this:

public TEntity Add(TEntity entity)
{
   return (TEntity)_database.Set(typeof(TEntity)).Add(entity);
}

------解决方案--------------------
封装个个泛型方法
------解决方案--------------------
为什么微软要把InsertOnSubmit和SubmitChanges分开来?你以为微软吃饱了撑着?

因为InsertOnSubmit在本地执行,如果你要插入1000个对象,分1000次提交和1次提交的性能是完全不同的。

所以一些小白自己不会用还整天喊“LINQ效率低下”。