English 中文(简体)
EF 移徙——一个数据库,两个项目
原标题:EF Migration - One database, two projects

我们正在使用人工迁移的EF代码第一。 问题在于我们需要在两个项目之间共享一个数据库。

Project-A
---DbContext-A
---------Model1
---------Model2
---------Model3

Project-B
---DbContext-A
---------Model2
---------Model3
---------Model4

有些迁移档案是相同的,但有些档案是不同的。例如:项目B需要模型4,但项目A没有。

目前,如果我用一种迁移方式更新数据库,DbContext将无法在其他项目中工作。

处理这种情况的最佳方式是什么?

问题回答

我的感觉是,这与移民的意图背道而驰。我认为,你应该打破 < code> DbContext 、实体和向两个项目共享的单独集会的迁移。

如果不是此选项, 您必须禁用与模型的兼容性检查。 兼容性检查是作为 < code> IDBIntializer. IntializeDatabase 执行的一部分完成的, 该执行负责调用 < code> Database. 兼容与 Model 兼容, 所以写您自定义的 DB 初始化器不会让你超过该步。 这也意味着您将接管确保数据库与模型兼容的责任。 EF 帮不了你更多忙 。





相关问题
Entity Framework with MySQL connector in c#

I have been trying to get the Entity Framework to work in my web application using MySQL. It works fine on my local pc, but doesn t work when I put it on the server. Since the server is a shared ...

How Do I Create And Update A Many To Many Relationship With EF

I am using the Entity Framework with SQL Server. I have a many to many relationship between 2 tables. I have created a join table with just the primary key fields of the 2 tables. In the designer, the ...

Entity Framework with File-Based Database

I am in the process of developing a desktop application that needs a database. The application is currently targeted to SQL Express 2005 and works wonderfully. However, I m not crazy about having ...

Linq to enties, insert foreign keys

I am using the ADO entity framework for the first time and am not sure of the best way of inserting db recored that contain foreign keys. this is the code that i am using, I would appreciate any ...

Entity Framework - Many to many question

I have a table called ASB and a table called PeopleInvolved. There is a junction table called PeopleInvolved_ASB which simply contains an ASBID and a PeopleInvolvedID column. The columns act as a ...

Post back complex object from client side

I m using ASP.NET MVC and Entity Framework. I m going to pass a complex entity to the client side and allow the user to modify it, and post it back to the controller. But I don t know how to do that ...

ADO.NET Entity Data Model are not precise enough

I run this code: var cos = from k in _db.klienci_do_trasy where k.klient_id == 5 select k; but the query send to database is: SELECT * FROM `klienci_do_trasy` LIMIT 0, 30 why is it for, there ...

热门标签