2011-05-25 30 views
0

我的DataAccess项目中有两(2)个SqlServerCe SP2数据库。类似的数据库 - 实体模型框架

对于这种解释的目的,假设一个数据库是Company.sdf,另一个是Private.sdf。这两个数据库有相同的结构:相同的表,同列ID等

Company.sdf数据库中包含的所有产品的最新信息,从我们公司的服务器,让工程师和销售人员访问下载当网络连接不可用时的信息。

Private.sdf数据库包含工程师和销售人员为建立系统或估算成本而创建的任何项目或方案。

我开始创建一个实体模型为Company.sdf数据库名为CompanyModel。我终于得到了实体模型连接到它后一些困难(实体框架Noobie)。

今天,我创造了我的第二个实体模型称为PrivateModelPrivate.sdf数据库。只要我这样做,我有多个错误,说明我的DataAccess项目的每个成员已经包含其他数据库中类似项目的定义。

R A T S!

如何为类似数据库添加实体模型?

DataAccess项目将在我的n层方法中成为我的DAL。当在这里寻找答案时,我读了RPM1984在3013146中的回应,关于对于连接到哪个数据库一无所知 - 这是DAL存储库的工作,但我不知道如何最好地为我做这件事情况。

回答

0

我在寻找实际的答案似乎是通过调用EdmGen2不仅解决了。我会进一步更新每个人。

如果有人知道实际执行此操作的方法,请随时发表评论或添加答案。

与此同时,我卡在教程模式。

UPDATE:

我一直SteveQ56 on CodeProject指着一对很好的参考:

这些似乎指向了我想要走的方向,而不必退回到EdmGen2。

1
+0

实体框架已经实现了存储库模式。 – 2011-05-25 17:22:45

+0

如果您按原样使用EF,则不使用任何抽象级别。我相信jp2code正在寻求进一步的抽象。 – 2011-05-25 17:35:08

+0

我正在阅读。 – jp2code 2011-05-25 17:45:04

2

如果你有相同的结构,那么你不需要创建两种车型。您只能创建一个模型,并使用不同的连接字符串使用不同的实例连接到不同的数据库。

您的上下文可以将连接字符串作为参数在构造函数中,并且您可以指定两个不同的连接字符串。

只需创建一个模型,为MyModel,

MyModelEntities companyContext = 
    new MyModelEntities("company connection string"); 

MyModelEntities privateContext = 
    new MyModelEntities("private connection string"); 
+0

我有一个连接字符串到每个实体模型,但每个模型返回一个不同的类型(** CompanyModel **或** PrivateModel **)。如何设计构造函数来创建一个特定的实体模型并将其返回? – jp2code 2011-05-25 17:31:48