具有相同连接字符串的多个模型 MVC

Multiple Models MVC With same Connection String

不太确定这是否是表达问题的正确方式,但我目前正在研究 MVC。

我有多个实体数据模型(我不确定这是最佳实践,但它似乎合乎逻辑),但是只有一个在工作,因为它显示

的错误

'Asaurus.Models.ConnectionString' 已经定义了一个名为 'ConnectionString' 的成员,其参数类型相同..."

这是两个类

1:

    public partial class ConnectionString : DbContext
{
    public ConnectionString()
        : base("name=ConnectionString")
    {
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        throw new UnintentionalCodeFirstException();
    }

    public virtual DbSet<TABLE1> TABLE1 { get; set; }
}
}

2:

public partial class ConnectionString : DbContext
{
    public ConnectionString()
        : base("name=ConnectionString")
    {
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        throw new UnintentionalCodeFirstException();
    }

    public virtual DbSet<TABLE2> TABLE2 { get; set; }
}
}

是否可以避免这种冲突?

提前致谢,詹姆斯

Not too sure if that was the right way to word the question

好吧,考虑到你实际上并没有在标题中提出问题,我会说不......不是。除此之外,您确实需要了解 asp.net MVC 和 entity framework 是两种完全不同的技术,只是一起使用,所以问一个标记为 mvc 但实际上是关于 EF 的问题会让您得到更少的回应比你正确标记它要好。此外,您应该实际阅读您应用的标签。它们具有实际含义,在它们的描述中有清楚的描述......特别是,[Model-View-Controller] 标签在其描述中说明了这一点:

Model–View–Controller (MVC) is an architectural pattern used in software engineering. For Microsoft ASP.NET MVC, please use [asp.net-mvc] tag instead.

因此,如果您想成为社区的好成员,请学习阅读网站告诉您的内容。

现在,关于您的问题...首先,为什么您的 EDM 被称为 "ConnectionString"?您应该根据它们的预期用途来命名它们。如果您至少使用 EF 6(早期版本对此有困难),则包含多个模型并没有错,但您的问题是您将两个模型称为同一事物。您应该删除一个并使用更有意义的名称重新创建它。