我需要添加一個字段到數據庫實際上沒有字段的模型。實體框架4(使用EDMX),如何添加一個字段到模型的DB實際上沒有字段
因爲,首先我試圖只將該字段添加到實體類。
public partial class Weborder
{
(Auto Generated)
public int orderno {get; set;}
.
.
.
(Add Manually)
public string newField1 {get; set;} //this is new field that DB does not have
public string newField2 {get; set;} //this is new field that DB does not have
}
和更高版本,當我更新EDXM時,EDMX刪除新字段,因爲數據庫沒有該字段。 。:(
所以我添加字段到手動模式EDMX(添加 - >標量屬性)
然後錯誤發生在編譯時,錯誤消息說:
Error 1 Error 3004: Problem in mapping fragments starting at line 399:No mapping specified for properties ...
An Entity with Key (PK) will not round-trip when:...
有人知道如何添加新的字段到實體類
謝謝
編輯的?! 如果我的模型是數據庫的一種表示形式,在數據庫中您沒有該字段,爲什麼要手動添加它?
=>
當檢索數據,對象的返回類型實體類。
在將數據從控制器傳遞到視圖之前,我需要在IQueryable結果中添加更多數據(字段)。
前)
public DbSet<WEBORDERLN> WEBORDERLNs { get; set; }
//repository
public IQueryable<WEBORDERLN> WebOrderLns
{
get { return context.WEBORDERLNs; }
}
,現在我得到了控制器weborderln數據。並在通過查看之前,我需要
添加額外的數據到結果中。
var data = webOrderLnRepository.WebOrderLns.Where(e => e.PICKNO == OrderNo).ToList();
foreach (WEBORDERLN weborderln in data)
{
weborderln.[NEW FIELD] = "EXTRA DATA"; //// FOR THIS, I NEED TO ADD NEW FILED INTO ENTITY CLASS
}
//return data
我希望它能夠再次解釋這個問題:)
感謝。
如果您的模型是數據庫的表示,並且在數據庫中沒有該字段,那麼爲什麼要手動添加它? – Dante 2012-04-23 13:57:49
@丹特,謝謝你的關注。我再次編輯我的問題,請查看我的問題。如果您有任何想法,請諮詢我。 – 2012-04-23 14:15:03
你基本上描述了ViewModel的使用場景 - 也就是說。模型從數據模型映射並從視圖派生,以便將數據傳遞給視圖(也可能從視圖中傳遞)。現在我一直想知道在Entity Framework本身中構建ViewModels是多麼容易(因爲我可能想要使用和查詢OData服務等),但我不知道它們真的屬於那裏。 – JayC 2012-04-23 14:19:14