如何使用Entity Framework中数据库中的字段创建外键字段?
我希望在表格DecodePersonnelID
中的MyUser
和表格PersonnelID
中的Personnel
(字段键)之间创建关系。
public partial class MyUser
{
public int UsersID { get; set; }
public string PersonnelID { get; set; }
[NotMapped]
public int DecodePersonnelID
{
get { return DecodeMD5PersonnelID(PersonnelID); }
set { PersonnelID = EncodeMD5(value.ToString() ); }
}
public string UsersName { get; set; }
}
public partial class Personnel
{
public int PersonnelID { get; set; }
public string FirstNameFa { get; set; }
public string LastNameFa { get; set; }
public bool Gender { get; set; }
}
答案 0 :(得分:0)
如果DecodePersonnelID
是表MyUser
中的列,则您必须反过来执行此操作,即使用PersonnelID
标记[NotMapped]
,然后标记DecodePersonnelID
作为外键:
public partial class MyUser
{
public int UsersID { get; set; }
[NotMapped]
public string PersonnelID
{
get { return EncodeMD5(DecodePersonnelID.ToString()); }
set { DecodePersonnelID = DecodeMD5PersonnelID(value); }
}
[ForeignKey("Personnel")]
public int DecodePersonnelID { get; set; }
public string UsersName { get; set; }
public Personnel Personnel { get; set; }
}
public partial class Personnel
{
public int PersonnelID { get; set; }
public string FirstNameFa { get; set; }
public string LastNameFa { get; set; }
public bool Gender { get; set; }
}
这将在MyUser
和Personnel
之间创建一对多关系,其中MyUser.Personnel
为导航,DecodePersonnelID
为外键属性。
答案 1 :(得分:0)
您可以在public virtual Personnel Personnel { get; set; }
中定义MyUser
:
public partial class MyUser
{
public int UsersID { get; set; }
public string PersonnelID { get; set; }
[NotMapped]
public int DecodePersonnelID
{
get { return DecodeMD5PersonnelID(PersonnelID); }
set { PersonnelID = EncodeMD5(value.ToString() ); }
}
public string UsersName { get; set; }
public virtual Personnel Personnel { get; set; }
}
public partial class Personnel
{
public int PersonnelID { get; set; }
public string FirstNameFa { get; set; }
public string LastNameFa { get; set; }
public bool Gender { get; set; }
}