Entity Framework через средний уровень - PullRequest
2 голосов
/ 17 декабря 2009

Хорошо, этот вопрос может не иметь прямого ответа, но давайте посмотрим.

Я пытаюсь создать DAL, который будет работать в сети и обслуживать объекты EF для разработчиков, которые пишут клиенты, которым необходимо использовать нашу базу данных.

Например:

DAL имеет несколько объектов EF, называемых PERSON и DEPARTMENT.

Разработчик хочет написать клиент, который может ссылаться на DAL, используя WCF, и предоставил ему контекст прокси и объекты EF, чтобы он мог выполнять нормально выглядящие запросы LINQ во время разработки. Во время выполнения этот запрос передается в DAL, который фактически выполняет его и передает полученные объекты обратно клиенту

        var query = from c in DALReference.PERSON
                    where c.FISTNAME == "FRED"
                    select c;

        foreach ( PERSON p in query)
        {
            lstItems.Items.Add(p.FIRSTNAME);   
        }

Теперь я прочитал множество вещей о том, что EF v1 недостаточно зрел, yada yada yada. Это не сработает для меня. Мне нужно написать решение для большого проекта, который должен быть готов не позднее сентября следующего года, чтобы я не мог дождаться v2 или .NET 4

Я также читал о POCO и невежестве постоянства, чтобы быть честным, все настолько фрагментировано, что я изо всех сил пытаюсь разобраться с этим.

Значит, кто-нибудь хочет помочь с некоторыми простыми для понимания примерами, руководствами или предложениями о том, как мне этого добиться?

О да, и еще один последний кусочек головоломки. Мне нужно, чтобы связь происходила через TCP, а не HTTP.

Спасибо!

Ответы [ 3 ]

1 голос
/ 18 декабря 2009

Вам потребуется использовать службы RIA или что-то вроде этого: http://code.msdn.microsoft.com/exprserialization для отправки деревьев выражений по проводам в любое хранилище данных.

Edit:

Хотелось бы добавить, что EF4 работает довольно хорошо прямо сейчас и, безусловно, лучше обрабатывает отдельные объекты, то есть объекты, которые проходят по проводу и становятся отсоединенными от вашего контекста.

Эта статья может быть полезна: http://msdn.microsoft.com/en-us/magazine/ee335715.aspx

1 голос
/ 17 декабря 2009

Вы смотрели на службы данных ADO.NET или службы RIA? Оба делают более или менее то, что вы хотите, немного по-разному. Я бы начал с одного из них, если бы у меня действительно не было необходимости.

0 голосов
/ 25 июня 2014

Вас может заинтересовать использование открытого источника N-Tier Entity Framework , который использует Entity Framework на стороне сервера и генерирует всю инфраструктуру для построения n-уровневой архитектуры на основе WCF, включая EF- как API на стороне клиента.

...