微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 如何解决以下MappingException

我收到以下异常:

The number of members in the
conceptual type ‘MyModel.Customer’
does not match with the number of
members on the object side type
‘MyNamespace.Customer’. Make sure the
number of members are the same.

在以下代码中:

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 */
    }
}

泛型存储库工作正常,直到我在EF模型中进行了一些更改.我让EF创建数据库(通过从模型选项生成数据库).

我从哪里开始?

编辑:我已经解决了.

这个问题与EF或我的模型无关.我已将数据层项目(及其程序集名称)从original_name.dll重命名为new_name.dll.我已将服务层项目引用更新到数据层项目,但旧程序集(original_name.dll)仍在bin目录中.从服务层的bin目录中删除旧的程序集并重建解决方解决了这个问题.

解决方法

似乎Classes的’MyModel.Customer’彼此不匹配’MyNamespace.Customer’.

尝试右键单击edmx文件并选择“运行自定义工具”

或右键单击解决方案资源管理器中的edmx并使用xml打开并验证最近的更改.

原文地址:https://www.jb51.cc/csharp/243512.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐