linq-to-sqlを使用してアプリケーションを引き継ぎ、データベースにいくつかの主要な変更を加える予定です。dbmlデザイナでモデルを更新するためのサポートがないため、代わりにsqlmetalを使用しようとしています。ただし、sqlmetalによって生成されたコードが、dbmlデザイナーによって生成されたcoldeと互換性がないという問題が発生しました。
別のテーブル(モデルなど)へのFKを持つテーブル(車など)がある場合、シリアル化は異なり、関連付け属性のDataMember属性は生成されません。
// **************************
// *** Dbml designer code ***
// **************************
[ColumnAttribute(...)]
[DatamemberAttribute(...)]
public int ModelID
{
// property get and set
}
[AssociationAttribute(...)]
[DataMemberAttribute(...)]
public Model Model
{
// property get and set
}
// **********************
// *** Sqlmetal code ****
// **********************
[ColumnAttribute(...)]
[DatamemberAttribute(...)]
public int ModelID
{
// property get and set
}
[AssociationAttribute(...)]
// No DataMember attribute
public Model Model
{
// property get and set
}
sqlmetalを使用するときにModelプロパティをデータコントラクトの一部にする方法はありますか?