EF中外鍵重新命名,打破原先的約束規則

2022-01-18 12:06:39 字數 1521 閱讀 6926

本人建議玩code frist的人多用用system.componentmodel.dataannotations和system.componentmodel.dataannotations.schema這個裡面的特性來寫實體類

現在進入正題,怎麼打破原先外來鍵的命名規則呢

[table("sys_userinfo")]

public partial class userinfo

[key]//主鍵

[column("id")]

public int id

[column("uname"), stringlength(20)]

public string uname

[column("pwd"), stringlength(20)]

public string pwd

[column("phone"), stringlength(40)]

public string phone

[column("mail"), stringlength(40)]

public string mail

[column("subtime")]

public system.datetime subtime

[column("lastmodifiedon")]

public system.datetime lastmodifiedon

[column("delflag")]

public bool delflag

[column("r_roleid")]//雖然在下面定義,但是可以重名

public int roleid111

[foreignkey("roleid111")]//指定上面那個是外來鍵的屬性

public virtual role role

}

如同我注釋那樣,寫外來鍵的時候可以利用foreignkey這個特性指定乙個外來鍵的屬性,然後指定的那個屬性再用column重新命名這個列名。不需要在寫對映,而且看的時候也會比較直觀,也容易維護。

[table("sys_role")]

public partial class role

[key]//主鍵

[column("id")]

public int id

[column("rolename"), stringlength(20)]

public string rolename

[column("delflag")]

public bool delflag

[column("subtime")]

public system.datetime subtime

[column("userinfoid")]

public virtual icollectionuserinfo

}

然後是資料庫中的生成

檔案重新命名或者專案重新命名

在專案開發中 有時候某個專案的名稱中途需要更改一下 這個時候乙個乙個的去找對應的檔名然後更換在專案小的時候還可以 如果專案比較龐大的話那就相當複雜了 好在xcode有個重構的方法 方便操作 比如 把專案中status更名為 cdsinacellmodel 這個方法能夠把整個專案的status更名為c...

Linux重新命名

一 簡單的單檔案重新命名 mv source file name target file name 二 支援批量重新命名的,即萬用字元 rename from 剛學習linux的時候,對檔案重新命名首先想到的就是rename命令,但是按照在windows下對檔案重新命名的方式試了n多次都沒有反應,在...

liunx unzip重新命名

unzip a.zip 一般如下指令即可 但假設是這個a.zip中是這樣的結構 archive a.zip length date time name 0 11 04 16 11 19 n9ugadkbkcduaxcy 0 11 04 16 11 19 n9ugadkbkcduaxcy common...