blogs.microsoft.co.il/blogs/bursteg/archive/2007/10/01/...

ектирую свою базу данных и веб-приложение LINQ To SQL ASP.NET.

Представьте, что у меня есть два типа страниц: обычные и root. Некоторые страницы являются корнями. Некоторые страницы нет.

У меня есть таблица базы данных страницы и таблица базы данных RootPage:

      Page
      ----
   PK PageId
      HtmlTitle
      PageHeading
      MetaDescription
      IsRoot

      RootPage
      --------
FK PK PageId
      FavIcon
      StyleSheet
      MasterPage

Я думаю, что если в моем файле DBML я установлю свойство IsDiscriminator столбца IsRoot, то мой класс RootPage унаследует класс Page.

Я хочу иметь возможность работать так в моем коде:

MyDataContext db = new MyDataContext();

var roots = from p in db.Pages
            where p is RootPage
            select (RootPage)p;

Или вот так:

RootPage r = new RootPage();
r.HtmlTitle = "Foo";
r.FavIcon = "bar.ico";
...
db.Pages.Add(r);
db.SubmitChanges();

Может ли столбец LINQ to SQL IsDiscriminator быть обнуляемым или ложным? Будет ли это работать?

Ответы на вопрос(1)

Ваш ответ на вопрос