これはより一般的な質問です。これがワッフルの負荷であることが判明した場合、私が実際に謝っていることについて私は100%ではありません!Linq to SQLドメインモデル
私はASP.NET MVC2でウェブサイトを作成しています。ドメインモデルの設定を検討しています。私はがと表示されている書籍を読んで、データベースとは対照的にC#のテーブル間の関係を設定しています(あるいは多分私はそれを間違って読んでいますか?)。
もしそうなら、正しい方法ですか?
[Table(Name="Users")]
public class User
{
[Column(IsPrimaryKey=true, IsDbGenerated=true, AutoSync=AutoSync.OnInsert)]
public int ID{get;set;}
public string Name{get;set;}
}
[Table(Name="Posts")]
public class Post
{
[Column(IsPrimaryKey=true, IsDbGenerated=true, AutoSync=AutoSync.OnInsert)]
internal int ID{get;set;}
internal int MemberID {get;set;}
public string Body {get;set;}
internal EntityRef<User> _user;
[Association(ThisKey="MemberID", storage="_user")]
public User User
{
get{ return _user.Entity; }
internal set{ _member.Entity = value; ID = value.ID; }
}
}
EntityRef、これはMSSQL Serverの関係を作成するための代替です:
例えば、場合は、以下の2ドメインモデルクラスを取りますか? C#ではエンティティ間の関係をデータベース自体ではなく定義するというアイデアはありますか?
ちょっと混乱していましたが、私が言ったように私はコースから完全に離れることができました。
「ウェブサイトを作成する」(つまりゼロから) - なぜ旧式のテクノロジーから始めるのですか? Entity Frameworkの使用を強くお勧めします。あなたの居場所では、コードを先に使うことも、モデルを先に使うこともできますし、DBを生成することもできます(DBを最初に行う必要はありません)。 – RPM1984
Linq to SqlとDomain Modelは、一緒に使用すべきでない2つの単語です。 LINQ to Sqlは永続性モデルを実行するだけで、DDDに必要な高度なシナリオを実際にマップすることはできません。 – jfar