【发布时间】:2017-02-12 15:15:01
【问题描述】:
我有一个简单的数据库,我使用Entity Framework 来执行查询。
Customer.cs
namespace DataAccess.Entities
{
[Table("Customer")]
public partial class Customer
{
public int CustomerId { get; set; }
[Required]
[StringLength(50)]
public string CustomerName { get; set; }
public int StatusId { get; set; }
public virtual Status Status { get; set; }
}
}
Context.cs
public partial class Context : DbContext
{
public Context()
: base("name=DefaultConnection")
{
}
public virtual DbSet<Customer> Customer { get; set; }
public virtual DbSet<Status> Status { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Customer>()
.Property(e => e.CustomerName)
.IsUnicode(false);
modelBuilder.Entity<Status>()
.HasMany(e => e.Customer)
.WithRequired(e => e.Status)
.WillCascadeOnDelete(false);
}
}
但是如果我的数据库发生变化,如何更新我的实体和OnModelCreating 方法?如果不手动执行此操作?
谢谢
【问题讨论】:
-
“我的数据库更改”是什么意思?其中的数据还是架构(列、约束等)?
-
你好,架构
-
改变数据库架构的触发器不就是模型吗?我的意思是,要改变架构,你需要改变你的模型,你不应该从数据库本身来做
-
您是使用代码优先方法还是数据库优先方法?从发布的代码看起来像代码优先的方法?
-
好的,所以我必须使用迁移来推送我的更改?
标签: c# entity-framework entity