2012-04-18 2 views
1

Каков наилучший способ решить эту проблему.Ссылка на две разные таблицы в зависимости от данных?

У меня есть один стол с деталями от частных лиц и один стол с деталями от компаний. Теперь мне нужно создать таблицу, называемую продажами. Эта таблица будет ссылаться на таблицу лиц или таблицу компаний в зависимости от того, является ли это частным лицом или компанией, которая что-то купила. Что было бы лучшим способом сделать это? Скопировать данные из компании/частного лица в таблицу продаж?

Я использую EF CF и MS-SQL Server 2008.

+0

Пожалуйста, не добавляйте EF CF SQL, то есть теги для –

+0

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

+0

Нет, это невозможно. Они содержат несколько разные поля. Около 7 разных полей. – Patrick

ответ

0

Вы можете создать два многие-ко-многим таблиц company_sales и person_sales ИЛИ можно добавить две колонки в таблице продаж и использовать case when companyId is null then person.name

person 
====== 
personId 
name 
address 

company 
======= 
companyId 
name 
address 

sales 
===== 
salesId 
productId 
amount 

person_sales 
============ 
personId 
salesId 

company_sales 
============= 
companyId 
salesId 
Смежные вопросы