Это более общий вопрос, и я не на 100% на то, что я на самом деле спрашиваю, поэтому извиняюсь заранее, если это окажется на груз вафли!Linq To Sql Domain Model
Я создаю сайт в ASP.NET MVC2, и я ищу настройку своей модели домена. Я читаю книги, которые появляются, чтобы настроить отношения между таблицами в C#, в отличие от базы данных (или, может быть, я читаю ее неправильно?).
Если да, то это правильный способ сделать это?
Например, если взять классы модели домена 2 ниже:
[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? Является ли идея определять отношения между объектами в C#, а не самой базой данных?
Немного смущен, и, как я уже сказал, я мог бы быть совершенно вне курса здесь.
Если ваше «создание веб-сайта» (т.е. с нуля) - зачем начинать с устаревшей технологии? Я настоятельно рекомендую использовать Entity Framework. Тем более в вашем представлении - потому что вы могли бы использовать сначала код или сначала модель, и генерировать БД (сначала не нужно делать БД). – RPM1984 2010-12-16 22:13:27
Linq to Sql и Domain Model - это два слова, которые нельзя использовать вместе. Linq to Sql использует модели персистентности и не может действительно отображать множество дополнительных сценариев, которые вам нужны для DDD. – jfar 2010-12-17 04:03:27