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

求助:关于Linq to entity实现增删改查的抽象类
从数据库中生成了entity;数据库中的每个表对应一个实体,每个实体中的属性字段可能是string ,int ,double,datetime等类型;
我的问题是如何写一个基类,来实现对这些实体的管理,无论实体怎么变化,都可以对实体进行增、删、改、查(条件查询,复合查询);
我想过用反射来解决属性的变化,但是如何应对实体的变化呢?
请赐教,不一定需要实例,最重要的是思路。

------解决方案--------------------
不是很明白你的意思:"无论实体怎么变化,都可以对实体进行增、删、改、查"

增,删,改,查。都需要代码实现,实体属性增减都会影响到代码的实现。

还是说你要回归一种使用SQL字符串方式的操作方式?
------解决方案--------------------
ORM 的就是实体化关系性数据库,
因此个人以为Linq2Entities已经可以取代我们以前3层里的数据访问层。
也就是说,包装Linq2Entities写数据访问层的代码有点多余。

如果lz一定要实现这样一个基类的话,直接使用泛型就可以了。。。
比如:
C# code
IQueryable<T> QueryEntities<T>(Expression<Func<T, bool>> predicate) where T : EntityObject
{
    return context.CreateObjectSet<T>().Where(predicate);
}