嘿,夥計們我有一個問題。我知道這樣的問題經常被問到,但是我花了幾個小時的時間解決了一些問題並閱讀了很多答案,但是我找不到合適的答案。我正在做一個使用ASP.NET MVC 4 Razor的應用程序。我對這個系統比較陌生。我使用實體框架5(數據庫優先方法)創建了一個.edmx數據模型。這是我的自動生成Context類的樣子:使用實體框架創建MVC4控制器
namespace KSM3.Models
{
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Data.Objects;
using System.Data.Objects.DataClasses;
using System.Linq;
public partial class kontrollsystemEntities : DbContext
{
public kontrollsystemEntities()
: base("name=kontrollsystemEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
[EdmFunction("kontrollsystemEntities", "udf_GetReportsByController")]
public virtual IQueryable<udf_GetReportsByController_Result> udf_GetReportsByController(string controller_account)
{
var controller_accountParameter = controller_account != null ?
new ObjectParameter("controller_account", controller_account) :
new ObjectParameter("controller_account", typeof(string));
return ((IObjectContextAdapter)this).ObjectContext.CreateQuery<udf_GetReportsByController_Result>("[kontrollsystemEntities].[udf_GetReportsByController](@controller_account)", controller_accountParameter);
}
}
}
和我的模型類看起來是這樣的:
namespace KSM3.Models
{
using System;
public partial class udf_GetReportsByController_Result
{
public int ID { get; set; }
public string ProviderID { get; set; }
public int VertragID { get; set; }
public System.DateTime Leistungszeitraum_von { get; set; }
public System.DateTime Leistungszeitraum_bis { get; set; }
public string ReportklasseID { get; set; }
public int Version { get; set; }
public string Status { get; set; }
}
}
現在當我點擊「添加控制器」,然後選擇我的課,我得到錯誤消息: 「無法檢索KSM3.Models.udf_GetReportsByController_Result.cs的元數據」
注意:我使用實體框架從用戶定義的函數中檢索信息,而不是從表中檢索信息!如果我用一張桌子嘗試相同的過程,它就可以工作! 爲了完成這項工作,我需要做什麼準備或更改? 謝謝你所有的答案!
被'udf_GetReportsByController'存儲過程? – meda
沒有用戶定義的函數返回一個表。 – TheDidi