Я разрабатываю свою базу данных и приложение LINQ To SQL ASP.NET.Может ли LINQ to SQL столбца IsDiscriminator НЕ наследовать?
Представьте, что у меня есть два типа страниц: обычный и корень. Некоторые страницы являются корнями. На некоторых страницах нет.
У меня есть таблица базы данных Страницы и базы данных корневой страницы таблица:
Page
----
PK PageId
HtmlTitle
PageHeading
MetaDescription
IsRoot
RootPage
--------
FK PK PageId
FavIcon
StyleSheet
MasterPage
Я думаю, что если в моем файл DBML я установил IsDiscriminator свойство столбца IsRoot, то мой класс корневой страницы наследует класс страницы ,
Я хочу, чтобы иметь возможность работать, как это в моем коде:
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 к SQL колонке IsDiscriminator быть обнуляемым или ложь? Будет ли это работать?
Спасибо. Более подробная информация здесь: http://blogs.microsoft.co.il/blogs/bursteg/archive/2007/10/01/linq-to-sql-inheritance.aspx – 2008-09-16 14:35:10