2012-08-10 36 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