Сложные отношения с несколькими LINQ - PullRequest
1 голос
/ 14 декабря 2009

После долгих раздумий мы обнаружили, что наилучшим подходом для наших нужд будет использование нескольких таблиц, как если бы это были классы, поэтому у нас есть что-то вроде:

tblPerson (pk code)
tblWorker (pk codePerson)
tblPhone (pk code, fk codePerson)
tblAddress (pk code, fk codePerson)

это почти как классы. Это было действительно необходимо, потому что во многих таблицах упоминается «общий человек», который может быть обычным человеком или компанией, и это может быть клиент, поставщик, пользователь системы, и так далее ...

Мы создавали части графического интерфейса с использованием элементов управления, чтобы их можно было использовать практически в каждой системе, и эти элементы управления сгруппированы в нескольких проектах (DLL).

Вопрос в том, как использовать LINQ для совместной работы. Привязать что-то к человеку / телефону / адресу довольно просто и прямолинейно. Но на самом деле нет идей о том, как поступить, скажем, с клиентом. Есть ли способ повторно использовать предыдущие объекты LINQ (человек / телефон / и т. Д.), Или мне просто нужно будет снова поместить их в новый файл LINQ DBML?

Благодаря коду я знаю, что могу заставить его работать вполне нормально. Просто вызовите другой контекст, и там я смогу получить доступ к записи ... но как насчет сеток? Мне нужно привязать сетку к объектам linq, но они разделены. И нет прямой связи между, например, клиентом и телефонными номерами или клиентом и адресами. Все эти отношения устанавливаются через сущность PERSON (родовое лицо).

...

Это довольно сложно объяснить, легче увидеть.

В любом случае, есть предложения?

1 Ответ

0 голосов
/ 14 декабря 2009

Linq to SQL на самом деле не охватывает более интересные части инструментов ORM. L2S не может выполнять наследование объектов и полиморфизм так, как это делает более сложный ORM, такой как NHibernate . L2S, как правило, для простых вещей, где у вас есть взаимно-однозначные отношения между таблицами и классами.

...