2010-05-12 53 views
0

我使用動態數據與LINQ to SQL中和SQL Server 2008使用LINQ的數據庫默認值到SQL codewise

我有一個GUID列從缺省值與newguid得到他的價值()。當我在設計器中將IsDbGenerated設置爲true時,它就像魅力一樣。

但是,當我更新表時,這個屬性重新設置爲false。所以我將它添加到元數據中。由於某些原因,它沒有被拾取,「00000000-0000-0000-0000-000000000000」正被插入到數據庫中。顯示名稱和只讀更改正在提取。

我錯過了什麼?

[MetadataType(typeof運算(CMS_Data_HistoryMetadata))] 公共部分類CMS_Data_History {

} 

[TableName("Content")] 
public class CMS_Data_HistoryMetadata 
{ 
    [DisplayName("Pagina Title")] 
    public object pageTitleBar { get; set; } 


    [ReadOnly(true)] 
    [DisplayName("Versie")] 
    public object version_date { get; set; } 

    [ColumnAttribute(IsDbGenerated = true)]  
    public object entity_id; 

} 

回答

0

我通過延伸部分插入連接更新類,並檢查存在如果GUID是解決了這個問題填充

局部空隙 InsertCMS_Data_History(CMS_Data_History 實例) {

 if(instance.entity_id == Guid.Empty) 
     { 
      instance.entity_id = Guid.NewGuid(); 
     } 
     this.ExecuteDynamicInsert(instance); 

    } 

    partial void UpdateCMS_Data_History(CMS_Data_History 

實例) { 如果(instance.version_date == DateTime.MinValue) { instance.version_date = DateTime.Now; } this.ExecuteDynamicUpdate(instance); }