ADO.NET Entity: получение данных из 3 таблиц

голоса
3

Я имею следующую структуру таблицы:

Table: Plant
 PlantID: Primary Key
 PlantName: String

Table: Party
 PartyID: Primary Key
 PartyName: String
 PlantID: link to Plant table

Table: Customer
 PartyID: Primary Key, link to Party
 CustomerCode: String 

Я хотел бы иметь объект сущности клиента со следующими полями:

 PartyID: Primary Key
 CustomerCode: String
 PartyName: String
 PlantName: String

У меня возникли проблемы с полем PlantName (который привез из таблицы растений я подключил Клиент партии и партии Привить с ассоциациями Однако я не могу соединиться клиентом Привить с ассоциацией (потому что он не один) я не могу добавить таблицу растений в отображение, когда я делаю что - я получаю следующее сообщение об ошибке:

Error 3024: Problem in Mapping Fragment starting at line 352: Must specify mapping for all key properties (CustomerSet.PartyID) of the EntitySet CustomerSet

Удаление ассоциации завода работает. Любые намеки или направления очень ценятся.

Задан 10/12/2008 в 04:12
источник пользователем
На других языках...                            


3 ответов

голоса
3

Вы можете получить эти поля с помощью опорного пути на объект Entity.

Чтобы получить PartyName, используйте следующий синтаксис: Customer.Party.PartyName

Чтобы получить PlantName, используйте следующий синтаксис: Customer.Party.Plant.PlantName

Ответил 10/12/2008 в 14:01
источник пользователем

голоса
2

Вы можете расширить объект клиента с помощью частичного класса общественности:

public partial class Customer
{
  public string PartyName
  {
    get { return Party.PartyName; }
    set { Party.PartyName = value; }
  }

  public string PlantName
  {
    get { return Party.Plant.PlantName; }
    set { Party.Plant.PlantName = value; }
  }
}
Ответил 06/04/2009 в 23:51
источник пользователем

голоса
1

После некоторых исследований, я наткнулся на эту нить на MSDN , что говорит , что вы можете создать только для чтения , объект, который является достаточно оборотную сторону , чтобы не использовать его в одиночку, но это еще хуже. Вы также потеряете возможность обновлять все из моделей динамически на основе схемы базы данных.

Ответил 06/04/2009 в 23:42
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more