Я использую linq-to-sql только в веб-сценарии. Я знаю, что рекомендуется всегда переносить datacontext в использование, но только в веб-сценарии, для какого сценария я проектирую, это действительно не обязательно, потому что каждая страница будет появляться и умирать за очень короткое время.Вопрос дизайна класса datacontext Linq-to-sq?
Учитывая, что фон, я смотрел продлил некоторые из моих LINQ-к-SQL классы как таковые
public partial class aspnet_User
{
MainDataContext _dc = new MainDataContext();
public MainDataContext DataContext
{
get
{
return _dc;
}
set
{
_dc = value;
}
}
public static aspnet_User GetUser(Guid guid)
{
//Here I load the user and associated child tables.
//I set the datacontext for the aspnet_User with the local DC here
}
//_dc.SubmitChanges()
public SaveUser()
Итак, это дизайн конструкт я работу и это, кажется, хорошо работать мое дело. Часть моей проблемы заключается в том, что я использую эту встроенную структуру членства и пытаюсь добавить к ней, что легче, чем воссоздать мои собственные, но имеет определенные ограничения. Разумеется, точный состав интерфейса к объекту не идеален, потому что некоторые функциональные возможности стратифицированы по таблицам базы данных, лучше или хуже.
Мой вопрос заключается в том, что для некоторых дочерних объектов, таких как aspnet_Membership, я также расширил это своим собственным DC. Но для меня еще нет механизма для обновления всех DC детей без установки каждого вручную.
Я бы хотел увидеть различные дизайнерские решения, требующие минимального кодирования, которые могли бы решить это несколько элегантным способом.
Также могут быть оценены любые подробные и конкретные предложения по расслоению объектов. Это может быть убить 2 птицы одним камнем.
Да, я тоже это сделал, но решил, что использование возможностей linq-to-sql было бы удобно для некоторых задач, особенно запросов. Я решил использовать базовые классы linq-to-sql, следуя принципам DRY, или создавать классы только для результатов. Теперь я думаю об этом. Я оставлю это, потому что DC - это более общая проблема, которая может быть решена. –