Я создал свою базу данных в 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, не могут быть графически представлены в макете диаграммы.Это нормально, но я не знаю, может ли это быть причиной проблемы.Пожалуйста помоги????Заранее спасибо ..