如何在模型中设置foregin键 [英] how to set foregin key in model

查看:144
本文介绍了如何在模型中设置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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆