Я хочу отображать информацию из пользовательской функции в ASP.NET MVC 4 Razor. Функция в базе данных выглядит следующим образом:Я не понимаю, почему мой класс отображается как сложный тип
CREATE FUNCTION dbo.udf_GetReportsByController(@controller_account VARCHAR(128))
RETURNS @retReports table (
ID INTEGER IDENTITY PRIMARY KEY,
ProviderID VARCHAR(50) NOT NULL ,
VertragID INTEGER NOT NULL,
Leistungszeitraum_von DATE NOT NULL,
Leistungszeitraum_bis DATE NOT NULL,
ReportklasseID VARCHAR(50) NOT NULL,
Version INTEGER NOT NULL,
Status VARCHAR(64)
)
AS
BEGIN
//Do some stuff and insert in the ret-table
RETURN;
END;
GO
Entity Framework отображается это в этом классе:
public partial class udf_GetReportsByController_Result
{
[Column("ID")]
public int ID { get; set; }
[Column("ProviderID")]
public string ProviderID { get; set; }
[Column("VertragID")]
public int VertragID { get; set; }
[Column("Leistungszeitraum_von")]
public System.DateTime Leistungszeitraum_von { get; set; }
[Column("Leistungszeitraum_bis")]
public System.DateTime Leistungszeitraum_bis { get; set; }
[Column("ReportklasseID")]
public string ReportklasseID { get; set; }
[Column("Version")]
public int Version { get; set; }
[Column("Status")]
public string Status { get; set; }
}
Когда я хочу сделать некоторую DbSet-методу в моем контроллере, я получаю сообщение об ошибке, что мой класс модели отображается как сложный тип. Я читал, что сложный тип не имеет первичного ключа, но я определил его в своей функции, и мне нужно обратиться к элементу с помощью его идентификатора. Как указать первичный ключ в этой таблице ret?
Как класс подключен к вашему DbContext? –
В моем контексте у меня есть атрибут'public DbSet reportSet {get; задавать; } ' и метод, который вызывает функцию базы данных и возвращает IQueryable . –
TheDidi