如何在模型中设置foregin键 [英] how to set foregin key in model
本文介绍了如何在模型中设置foregin键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好,
这里我想为员工ID设置foregin密钥,但在运行代码时首先迁移我得到了一个错误。如何解决它。
型号描述: -
hi to all,
Here i want to set foregin key for employee id but while running code first migration i got a error.How to resolve it.
MODEL DESCRIPTION:-
[Required]
[ForeignKey("Employee_Id")]
public int Employee_Id { get; set; }
错误描述: -
无法将属性Employee_Id配置为导航属性。该属性必须是有效的实体类型,并且该属性应具有非抽象的getter和setter。对于集合属性,类型必须实现ICollection< t>其中T是有效的实体类型。
推荐答案
[Required]
[ForeignKey("TableName")]
public int Employee_Id { get; set; }
在ForeignKey中使用tablename(----)
use tablename inside ForeignKey("----")
public class Customer
{
[Key]
public int CustomerId {get;组; }
[StringLength(20)]
[必填]
公共字符串CustomerName {get;组; }
}
公共类地址
{
[Key]
public int AddressId {get;组; }
[DataType(DataType.Text)]
public string Street {get;组; }
//外键
public int CustomerId {get ;组; }
公共虚拟客户客户{get;组; }
}
public class Customer
{
[Key]
public int CustomerId { get; set; }
[StringLength(20)]
[Required]
public string CustomerName { get; set; }
}
public class Address
{
[Key]
public int AddressId { get; set; }
[DataType(DataType.Text)]
public string Street { get; set; }
//Foreign Key
public int CustomerId { get; set; }
public virtual Customer Customer { get; set; }
}
你可以在dbset中定义客户模型作为伙伴
公共类LocalContext:DbContext
{
public LocalContext():base(test)
{
//Database.SetInitializer<LocalContext>(null);
}
public DbSet<客户和GT;顾客{得到;组; }
public DbSet< Address>地址{get;组; }
}
u can define customer model in dbset as fellow
public class LocalContext : DbContext
{
public LocalContext() : base("test")
{
//Database.SetInitializer<LocalContext>(null);
}
public DbSet<Customer> Customers { get; set; }
public DbSet<Address> Addresses { get; set; }
}
这篇关于如何在模型中设置foregin键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文