Twitter bootstrap 在单个视图的不同服务器上实现多个模型

Twitter bootstrap 在单个视图的不同服务器上实现多个模型,twitter-bootstrap,sql-server-2008-r2,asp.net-mvc-5,Twitter Bootstrap,Sql Server 2008 R2,Asp.net Mvc 5,早上好 首先,我的环境: VS 2013 ASP.NET MVC5 EF5(强制,因为VS不让我选择EF6) 工厂A数据位于SQL Server上,服务器A包含数据库A 工厂B数据位于SQL Server上,服务器B包含DB_B 我正在创建一个页面,显示来自SCADA系统的生产数据。所以,我想也许一个asp.NETMVC带引导旋转木马会让老板们大吃一惊。我尝试了一个例子和一个补充ASP.NETMVC5数据库的第一个教程。 数据库是相同的,除了接收来自不同工厂的信息,例如数据库名称相同,列名相

早上好

首先,我的环境:

  • VS 2013
  • ASP.NET MVC5
  • EF5(强制,因为VS不让我选择EF6)
  • 工厂A数据位于SQL Server上,服务器A包含数据库A
  • 工厂B数据位于SQL Server上,服务器B包含DB_B
我正在创建一个页面,显示来自SCADA系统的生产数据。所以,我想也许一个asp.NETMVC带引导旋转木马会让老板们大吃一惊。我尝试了一个例子和一个补充ASP.NETMVC5数据库的第一个教程。 数据库是相同的,除了接收来自不同工厂的信息,例如数据库名称相同,列名相同

创建模型A时,它在模型A edmx下显示DBA的model.cs,但创建模型B时,它仅在模型B edmx下显示

当我需要加入两个模型以在视图上使用时,我的问题就开始了。两个示例都显示了不同的模型,是的,但在同一个数据库上;我的在不同的服务器上

我该怎么办


Poluskinha

如果数据库相同,则可以使用相同的模型来容纳它们(一个edmx文件)。您可以通过简单地使用适当的连接字符串来指定数据的来源

我要做的是创建一个存储库层,它可以查询两个数据库,然后返回一个包含两个工厂所有产品的列表

使用存储库层管理您的数据访问,您现在可以将应用程序的MVC部分视为使用单个服务器的任何其他应用程序


您必须考虑的一个问题是,相同的表将有ID冲突。如果你打算做的只是读取这些数据,你就必须对此进行协调。

我似乎是从一个没有被“使用”的数据库中获取的,尽管它已经用工厂信息进行了更新。我找到了另一个不同名字的数据库,一切正常

通过视图模型示例调整多个模型,我添加了2个edmx,每个模型一个,幸运的是,列名不同。 所以我刚刚创建了一个名为Repository的类,它有两个方法,每个模型一个,用于返回最新的生产信息

之后,创建了一个名为ViewModels的文件夹,在该文件夹中创建了一个名为ViewModel的类,并为每个模型添加getter和setter

它是MVC,所以我使用了现有的Index.cshtml并添加了ViewModel类作为模型,DisplayFor如下所示:

@Html.DisplayFor(modeleItem=>Model.latestA.[tagnameA])-->对于模型A数据

@用于模型B数据的Html.DisplayFor(modeleItem=>Model.latestB.[tagnameB-->

一点引导旋转木马,使它漂亮,瞧


感谢Shoe关于存储库的事情,一开始我不理解,这给了我做更多研究的灵感。

再次感谢你的回复Shoe。我花了很长时间,因为我想尝试所有的可能性。好消息是,我在与DB_a相同的服务器上发现了一个DB_B,表名为tableB(因此名称不同)。添加模型效果很好。我可以看到每个模型的视图。现在来连接部分,让旋转木马为它们工作。我将重做上面给出的示例,它们有存储库层。将给出如何运行的反馈。再次感谢。