Kyr*_*o M 5 c# constraints ef-code-first
我有以下模型:
class RentOrder
{
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如何在 Entity Framework Code First 中添加StartDate必须始终小于的约束EndDate?我知道的唯一方法是通过在重写Seed方法中执行 SQL 命令来添加它。有没有更简单的方法,不用SQL?
正如我在问题中提到的,现在解决这个问题的唯一方法是在Seed方法中编写 SQL 命令:
public class MyDatabaseInitializer : DropCreateDatabaseAlways<MyDatabaseContext>
{
protected override void Seed(MyDatabaseContext context)
{
context.Database.ExecuteSqlCommand(@"ALTER TABLE Orders
ADD CONSTRAINT C_Dates CHECK(EndDate > StartDate)");
}
}
Run Code Online (Sandbox Code Playgroud)
并在应用程序启动的某个地方调用:
Database.SetInitializer(new MyDatabaseInitializer());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
845 次 |
| 最近记录: |