В моей созданной модели данных сущностей (ASP.NET MVC) отсутствует представление, созданное в моей базе данных ... почему? - PullRequest
0 голосов
/ 24 декабря 2010

Я создал свою базу данных в SQL Server, а затем в Visual Studio создал модель данных Entity, используя свою базу данных.Все было сгенерировано нормально, все мои таблицы и представления, за исключением одного конкретного представления.Разница между этим представлением и другими представлениями заключается в том, что я использую UNION ALL в синтаксисе представления.Ниже приведена настройка SQL-представления, а ниже - мой код в Visual Studio, который жалуется на отсутствие v_contactMasterList:

select clicontfin_cli_fk as clientPK,
contfin_firstName as FirstName, 
contfin_lastName as LastName, 
contfin_institutionName as InstitutionName,
contfin_contactType as ContactType 
from f_linkClientContactFinancial lccf
inner join f_contactFinancial cf on lccf.clicontfin_contfin_fk = cf.contfin_pk

UNION ALL

select clicontins_cli_fk as clientPK,
contins_agentFirstName as FirstName,
contins_agentLastName as LastName,
contins_agencyName as InstitutionName,
contins_contactType as ContactType
from f_linkClientContactInsurance lcci
inner join f_contactInsurance ci on lcci.clicontins_contins_fk = ci.contins_pk

UNION ALL

select clicontleg_cli_fk as clientPK,
contleg_FirstName as FirstName,
contleg_LastName as LastName,
contleg_firmName as InstitutionName,
contleg_contactType as ContactType
from f_linkClientContactLegal lccl
inner join f_contactLegal cl on lccl.clicontleg_contleg_fk = cl.contleg_pk

UNION ALL

select clicont_cli_fk as clientPK,
cont_FirstName as FirstName,
cont_LastName as LastName,
NULL as InstitutionName,
cont_contactType as ContactType
from f_linkClientContactPersonal lccp
inner join f_contactPersonal cp on lccp.clicont_cont_fk = cp.cont_pk

А мой код C # ниже - обратите внимание, что где mainDB.v_contactMasterList.ToList()где проблема.Он не распознает v_contactMasterList вообще.Он распознает любой другой объект базы данных, такой как мои таблицы и другие мои представления:

public ActionResult Index()
{
   var viewModel = new ClientContactInformationViewModel
                       {
                          ClientContactRecords = mainDB.v_contactMasterList.ToList()
                       };
   return View();
 }

Также обратите внимание, где я объявил SelectLifeManagementDBEntites, как он это видит, который был создан из моей модели данных сущностейкак КАЖДАЯ ОДНА из моих других таблиц и представлений.

Когда я создал это представление, я просто скопировал и вставил свой синтаксис SQL в область представления SQL и выполнил его.Я тогда сохранил это.Я получил диалоговое окно, в котором говорилось, что представления, содержащие операторы UNION ALL, не могут быть графически представлены в макете диаграммы.Это нормально, но я не знаю, может ли это быть причиной проблемы.Пожалуйста помоги????Заранее спасибо ..

1 Ответ

0 голосов
/ 10 января 2011

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

...