我有一個ASP.NET 4動態數據網站,它針對一組非常簡單的數據庫表運行,並通過另一個程序集中的實體框架模型公開。我不想腳手架在EF模型中的表所有,所以在我的Global.asax文件,我已經初始化的默認模式是這樣的:ASP.NET動態數據沒有看到部分元數據「夥伴」類
DefaultModel.RegisterContext(typeof(MyCompany.MyProject.DataModel.DataContext), new ContextConfiguration() { ScaffoldAllTables = false });
MSDN文檔(和global.asax文件中的註釋)表示,我現在應該可以通過將[ScaffoldTable(true)]
屬性添加到其部分「夥伴」類來選擇性地啓用單個表的腳手架。我這樣做是這樣的:
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Web.DynamicData;
namespace MyCompany.MyProject.DataModel
{
[MetadataType(typeof(InHouseClaimMetadata))]
[ScaffoldTable(true)]
public partial class InHouseClaim
{
[DisplayName("In-House Claims")]
[TableName("In-House Claims")]
public class InHouseClaimMetadata
{
[DisplayName("Reporting Date")]
public object ReportingDate { get; set; }
// etc etc...
}
}
}
但加載Default.aspx的時候,我得到了以下錯誤消息:
有沒有訪問表。確保在Global.asax中註冊了至少一個數據模型 ,並且啓用了腳手架或實現了 自定義頁面。
我已經得到了這個在類似的情況下工作;這個嘗試的另一個不同就是我的EF模型是它自己的組合。如果我更改global.asax繼續前進並搭建所有表格,它就可以正常工作。但顯然,我不想要那樣。我小心地確保部分元數據類的名稱空間與EF數據上下文的名稱空間匹配。
所以我很爲難......
這傢伙遠遠超過了我:http://stackoverflow.com/questions/647385/is-it-possible-to-有兩個部分類在不同的程序集代表 – 2012-01-09 16:09:15