Entry tags:
(no subject)
Интересуюсь идеями на тему толкового разделения data context и entity в LINQ to SQL. То есть, как бы так взаимно расположить entities, класс DataAccess, который будет ходить в dbml, и сам dbml, чтобы сторонний проект мог референсить ентити и дата-аксесс, ничего не зная про дбмл, но получать от дата-аксесса ентитиз, которые надстроены над объектами дбмля. Пока что я придумал два способа, но оба мне не нравятся по разным причинам.
Кто как делает?
Кто как делает?

no subject
no subject
Короч, тебе зачем??
no subject
То есть, мне интересно не скрыть дбмль, а опубликовать только надстроенные, завернутые энтити. И отделить сами ентити от методов, которые лазят в базу, на случай если база будет изменяться.
То, что я сделал пока что - это опубликовал только ентити, а методы, лазящие в базу, сделал статическими методами ентитей (ну, и не-статическими тоже иногда). И описал в отдельном файле в парциальных классах. Но мне этот подход не нравится - точнее, он мне кажется каким-то очень кустарным и самодельным. Поискал best practices - не нашел пока.
no subject
Есть еще один способ, можно овверайднуть тайпы генератор который генерит классы из dbml, короч написать свой генератор и настроить vs его юзать. Это сложно, но выполнимо. У этого метода есть один существенный недочет. Этот генератор придеться ставить на все тачки девелоперов, которые изменяют этот самый dbml. К тому же не исключено что он вообще будет нужен в последствии и во время любой компиляции.
no subject
в dbml.designers.cs:
{в Entities.cs:
{и в DataAccess.cs:
{{{return db.AdSources.SingleOrDefault(s => s.AS_NAME.Equals(adSourceName));