Я использую Entity Framework 4.0, C # 4.0, .Net 2010 и SQL Server 2008 R2. Я создал следующий вид в моей базе данных SQL Server:
create view viewGetMember
as
select distinct
row_number() over (order by member.Membership_Number) ID,
email.Communication_Point_Id id1,
member.Membership_Number Number,
dvt.Default_Name ParticipationStatus,
person.Given_Name GivenName,
person.Last_Name LastName,
adrs.House_Number HouseNumber,
adrs.Street Street,
adrs.Post_Code PostCode,
email.Email_Address EmailAddress
from
Participation member
inner join
Party_Participation pp on member.Participation_Id = pp.Participation_Id
inner join
Party party on pp.Party_Id = party.Party_Id
inner join
Individual person on party.Party_Id = person.Party_Id
inner join
Domain_Value_t9n dvt on member.Participation_Status = dvt.Domain_Value_Id
inner join
Communication_Point cpadrs on party.Party_Id = cpadrs.Party_Id
inner join
Communication_Point cpemail on party.Party_Id = cpemail.Party_Id
inner join
[Address] adrs on cpadrs.Communication_Point_Id = adrs.Communication_Point_Id
inner join
Email email on cpemail.Communication_Point_Id = email.Communication_Point_Id
where
member.Membership_Number is not null
go
select * from viewGetMember
В хочу добавить это представление в рамках сущности. Однако в нем нет первичного. Хотя следующие два поля могут формировать составной первичный ключ (второй и третий столбцы).
- email.Communication_Point_Id id1
- member.Membership_Number Number
Я не знаю, как добавить их как часть Entity Framework. Даже я пытался добавить row_number()
(первый столбец) в качестве дополнительного столбца, думая, что он будет действовать как своего рода первичный ключ, но бесполезен. Дизайнер Entity Framework не добавляет это представление в файл модели .edmx.
Я попробовал это, полностью удалив файл .edmx и в новом проекте только для Entity Framework, но не повезло. Может кто-нибудь, пожалуйста, дайте мне решение этой проблемы.