SqlMetal がアソシエーション名を台無しにするのはなぜですか。たとえば、「TextMessage」テーブルには、「ApplicationUser」テーブルを参照する 2 つの列があります。「SenderUserId」と「RecipientUserId」
SqlMetal を実行して「ApplicationUser」クラスを確認すると
「RecipientUserId」の場合、次が生成されます。
[Association(Name="FK__TextMessa__Recip__72910220", Storage="_TextMessages", ThisKey="Id", OtherKey="RecipientUserId", DeleteRule="NO ACTION")]
public EntitySet<TextMessage> TextMessages
{
get
{
return this._TextMessages;
}
set
{
this._TextMessages.Assign(value);
}
}
「SenderUserId」の場合、このガベージ名前付きプロパティが生成されます。
[Association(Name="FK__TextMessa__Sende__73852659", Storage="__TextMessa__Sende__73852659s", ThisKey="Id", OtherKey="SenderUserId", DeleteRule="NO ACTION")]
public EntitySet<TextMessage> _TextMessa__Sende__73852659s
{
get
{
return this.@__TextMessa__Sende__73852659s;
}
set
{
this.@__TextMessa__Sende__73852659s.Assign(value);
}
}
どうすればこれを解決できますか? これは使えません。Linq To Sql コードを生成するより良い方法はありますか?