我遇到以下异常:
中的成员数量 概念类型'MyModel.Customer' 与数量不符 对象端类型的成员 'MyNamespace.Customer'。确保 成员数量相同。
在以下代码中:
public CusomserService
{
// ...
public IEnumerable<Customer> GetCustomers()
{
return new Repository<Customer>().All();
}
}
public class Repository<T>() where T : EntityObject
{
// ...
public IQueryable<T> All()
{
return _context.CreateObjectSet<T>().AsQueryable<T>(); /* HERE THE EXCEPTION IS THROWN */
}
}
generics存储库工作正常,直到我在EF模型中进行了一些更改。我让EF创建数据库(通过从Model 选项生成数据库)。
我从哪里开始?
编辑:我已经解决了。
问题与EF或我的模型无关。我已将数据层项目(及其程序集名称)从original_name.dll重命名为new_name.dll。我已将服务层项目引用更新到数据层项目,但旧程序集(original_name.dll)仍在bin目录中。从服务层的bin目录中删除旧的程序集并重建解决方案解决了这个问题。
答案 0 :(得分:9)
似乎Classes'MyModel.Customer'彼此不匹配'MyNamespace.Customer'。
尝试右键单击edmx文件并选择“运行自定义工具”
或右键单击解决方案资源管理器中的edmx,然后使用xml打开并验证最近的更改。