【发布时间】:2013-12-02 13:37:13
【问题描述】:
我正在尝试构建一个库项目,该项目将通过一些扩展方法帮助我完成其他项目。将被扩展的类型是 DbContext。这是一个例子
public bool Insert<TEntity>(this DbContext Context, TEntity entity) where TEntity : class
{
if (Context.Entry(entity).State == EntityState.Detached) //Entity is detached
{
Context.Set<TEntity>().Add(entity);
}
else //Entity is attached
{
Context.Entry(entity).State = EntityState.Added;
}
var str = Context.GetValidationErrors();
if (Context.GetValidationErrors().Any()) return false;
Context.SaveChanges();
return true;
}
问题出在哪里?
我通过 WCF 数据服务公开上下文,它缩小了我的上下文能力,这对我来说是矛盾的,因为这里的目标是公开数据,你怎么能在没有意义的情况下公开数据呢?那么,我该如何完成这项任务,将我的扩展方法作为扩展方法暴露给我的客户端上下文操作。
编辑
我一直在阅读,并从 Ladislav Mrnka 那里找到了这个答案
【问题讨论】:
-
你的意思是当你尝试通过你的 WCF 数据服务插入一个对象时,这个扩展方法没有被调用?
-
正是...其他方法也没有出现
标签: c# wcf entity-framework wcf-data-services