我们有一个带有多个数据库(不同架构)的 SQL Server,我需要在ASP.NET MVC 和实体框架中开发一个应用程序,以便在运行时连接到这些数据库中的任何一个并执行 DML 操作。如果将新数据库添加到 SQL Server,则应用程序应该能够连接到这个新数据库,而无需更改任何配置/代码。我正在寻找由myLittleAdmin处理的 DML 操作
任何人都可以在这方面给我建议吗
我们有一个带有多个数据库(不同架构)的 SQL Server,我需要在ASP.NET MVC 和实体框架中开发一个应用程序,以便在运行时连接到这些数据库中的任何一个并执行 DML 操作。如果将新数据库添加到 SQL Server,则应用程序应该能够连接到这个新数据库,而无需更改任何配置/代码。我正在寻找由myLittleAdmin处理的 DML 操作
任何人都可以在这方面给我建议吗
不幸的是,您将无法使用 Entity Framework 执行此操作。实体框架在两个不同的实例中运行,代码优先和数据库优先。
前者首先为您的数据编写相关的模型类,然后实体框架将根据这些类根据模型之间的引用自动处理外键引用等来制定数据库模式。
后者实际上是相反的,您定义数据库模式,Entity Framework 从中生成模型类。我一直发现这种方法更简洁,因为您可以更好地控制数据库结构,而且我发现更难出错。
在您的情况下,Entity Framework 需要事先知道数据库的结构以使其能够从中读取,因此它不能“在没有任何配置/代码更改的情况下连接到这个新数据库”。如果你能提供更多关于你想要什么的信息,那么我可以提供帮助。
我最近创建了一个资产管理系统,它可以存储传统上存储在单独表中的通用资产,这个解决方案是使用实体框架开发的,但是数据库的设计方式是它可以处理通用资产对象并存储它们,即如果我们创建了一个新的资产类型,然后不需要更改数据库,因此实体框架也没有代码更改。