簡體   English   中英

實體框架5和XElement字段

[英]Entity Framework 5 and XElement fields

開始使用Visual Studio 2012 RC和Entity Framework 5 ...絕對喜歡它,但想知道是否有更清潔的方法來做到這一點。

我想減少每次分析XML並通過.ToString()進行設置的中間人

public class MyEFEntity
{
    [NotMapped()]
    public XElement Tags { 
        get { return XElement.Parse(tags); } 
        set { tags = value.ToString(); } }

    [Column("Tags", TypeName = "xml"), Required]
    public string tags { get; set; }
}

原則上沒有更好的方法。 您需要兩個屬性-一個用於XElement ,另一個用於支持持久字符串。 如果要減少解析和轉換的數量,則需要為此實現一些基礎結構。 一般方法是:

  • 處理ObjectContext.ObjectMaterialized事件-如果實例化對象是MyEFEntity解析字符串,然后將其保存到XElement屬性。 如果使用的是DbContext ,仍然可以通過其顯式實現的IObjectContextAdapter獲得ObjectContext
  • 覆蓋SaveChanges在方法中,通過DbContext.ChangeTracker.GetEntries查找所有已修改或插入的MyEFEntity實例,並將其XML保存到字符串屬性

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM