Tag: ef code first

entity framework – 重用复杂类型

我在Code First Entity框架中有一个实体,目前看起来像这样: public class Entity { // snip … public string OriginalDepartment { get; set; } public string OriginalQueue { get; set; } public string CurrentDepartment { get; set; } public string CurrentQueue { get; set; } } 我想为这些类型创建复杂类型,如下所示: public class Location { public string Department { get; set; } public string Queue { […]

entity framework:复合键的字段不能为空?

我有一个带有复合键的模型 – 行是关键: public class Item { [Key, Column(Order = 0)] public int UserId { get; set; } [Key, Column(Order = 1)] public DateTime? Date { get; set; } } 运行下面的代码会抛出exceptionDbEntityValidationException并带有消息: The Date field is required. : var it = new Item { Date = null, UserId = 2 }; m_Entities.Items.Add(it); m_Entities.SaveChanges(); // throws exception […]

EF Code First级联删除和更新?

我的实体是这些: public class Customer { public Customer() { Invoices = new List(); Payments = new List(); } public int ID { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public IList Payments { get; set; } } public class Payment { public int ID { get; […]

EF Core中是否有唯一约束的数据注释(代码优先)?

我想知道在Entity Framework Core 2代码第一种方法中是否存在唯一约束的数据注释?

entity framework代码第一外键添加索引

我在EF 6代码中有简单的表定义 – 首先是简单的外键。 public class Address { /// /// Gets or sets the id. /// [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Column(Order = 1)] public int Id { get; set; } /// /// Gets or sets the town. /// public virtual Town Town { get; set; } /// /// Gets or sets the paf address town id. /// […]

C#EF Code First虚拟关键字,它有什么作用?

在声明导航属性时,为什么我们需要使用“virtual”关键字? 我知道Code First框架以某种方式使用它来识别属性是导航属性,但我想知道如何。 具体来说,我想知道它与MSDN文档中关于“虚拟”关键字的描述有何关联: http : //msdn.microsoft.com/en-us/library/9fkccyh4(v = vs.80)的.aspx

外键映射到entity framework中的复合键

尝试首先与entity framework代码建立以下关系。 以下代码不起作用我尝试了很多变化…有没有人有线索? CONSTRAINT [FK_EVENT_Contact] FOREIGN KEY (Patient_ID,[Contact_ID]) REFERENCES [PatientContact](Patient_ID,Person_ID) public class PatientContact { [Key, Column(Order = 0)] [DatabaseGenerated(DatabaseGeneratedOption.None)] public int Person_ID { get; set; } public virtual Person Person { get; set; } [Key, Column(Order = 1)] [DatabaseGenerated(DatabaseGeneratedOption.None)] public int Patient_ID { get; set; } public virtual Patient Patient { get; set; } } […]

与Entity Framework Fluent API的一对一关系

我在我的一个实体上进行反向导航时遇到问题。 我有以下两个对象: public class Candidate { [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public long CandidateId { get; set; } …. // Reverse navigation public virtual CandidateData Data { get; set; } … // Foreign keys …. } public class CandidateData { [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public long CandidateDataId { get; set; } [Required] public long CandidateId { get; set; } // […]

在entity framework4.1(CodeFirst)中更新对子对象的引用

我正在尝试使用EntityFramework 4.1(CodeFirst)更新我之前保存的对象 Job类具有以下属性…… public class Job { [key] public int Id { get; set; } public string Title { get; set; } public Project Project { get; set; } public JobType JobType { get; set; } public string Description { get; set; } } 初始创建工作正常,但更新只提交对字符串的更改。 如果我将子对象,例如JobType属性从JobTypeA更改为JobTypeB ,则不会提交更改… 我不打算对JobType进行更改 – 仅限于Job。 using (var context = new […]

Microsoft.AspNet.Identity.EntityFramework.IdentityUser的外键?

我在VS 2013,刚刚创建了一个MVC应用程序。 我正在创建一个对象,我打算在结果数据库中有一个AspNetUsers表的外键。 该项目确实有一个ApplicationUser(派生自IdentityUser),看起来像是与AspNetUsers表的属性列匹配。 我们如何正确地为此声明外键? public MyObject { public string UserId { get; set; } [ForeignKey(“UserId”)] public ApplicationUser User { get; set;} // other properties } 现在,我修改ApplicationUser以获得MyObjects的集合: public ApplicationUser : IdentityUser { public virtual ICollection MyObjects { get; set; } } 这似乎是如何在EF Code First中进行一对多操作。 但是,当我更新数据库时,我收到的错误表明身份成员(IdentityUserLogin,IdentityUserRole等)没有定义键。 也许那些课程不打算参加EF Code First Migrations? 我可以“到后面”并通过SQL语句添加外键,但如果我想从Code First再次更新,我可能会收到错误(数据库当前不匹配旧的迁移或类似的东西)。 我们如何正确地使用外键参考这些会员表? 我还尝试使用AspNetUsers表的匹配属性创建一个AspNetUser类。 我没有在Client类上使用“public ApplicationUser”,而是声明了“public […]