2012-08-10 44 views
1

我想知道如何將屬性添加到模型中的實體對象。將屬性添加到模型對象silverlight

[EdmEntityTypeAttribute(NamespaceName="MyObjectModel", Name="MyObject")] 
    [Serializable()] 
    [DataContractAttribute(IsReference=true)] 
    public partial class MyObject: EntityObject 
{ 
private int myVar; 

     public int MyProperty 
     { 
      get { return myVar; } 
      set { myVar = value; } 
     } 
} 

當我這樣做,新屬性不會出現在MyObject中,但我沒有得到任何錯誤。

我應該怎麼做?

謝謝!

回答

0

正如我看到EdmEntityTypeAttribute屬性,我假設你正在修改Databasemodel.Designer.cs文件。由於該文件的頭說:

// <auto-generated> 
// This code was generated from a template. 
// 
// Manual changes to this file may cause unexpected behavior in your application. 
// Manual changes to this file will be overwritten if the code is regenerated. 
// </auto-generated> 

這個文件是自動生成的,絕不能手動修改。所以當這個文件被重新生成時(可能在編譯時),你的屬性基本上被刪除了。

只需創建一個新的文件,添加你的財產:

例如,MyObject.cs

public partial class MyObject 
{ 
    public int MyProperty { get; set; } 
} 

請注意,partial關鍵字被設計爲允許在多個文件中分離類的定義。

+0

謝謝,但是當這樣做,然後我創建一個新的MyObject mo = new MyObject,我無法訪問MyObject.MyProperty。它沒有顯示在可能的選擇列表中。 – Oliver 2012-08-10 15:19:15

+0

@Oliver請添加更多背景(即發佈一些代碼:您在哪裏寫了MyObject mo = new MyObject,您如何定義MyObject,哪個程序集,哪個命名空間......) – ken2k 2012-08-10 15:25:15

+0

我在MainPage.xaml.cs中編寫了MyObject mo ... ,客戶端,命名空間MyProject。 MyObject在我的Silverlight商業應用程序的Web項目中定義,命名空間是MyProject.Web.Models。 – Oliver 2012-08-10 16:25:36