代码之家  ›  专栏  ›  技术社区  ›  Sprintstar

向客户端实体类添加自定义属性

  •  4
  • Sprintstar  · 技术社区  · 15 年前

    我需要向实体框架类添加一个自定义属性,但是当我这样做时,我会得到“为类型xxx指定的属性名xxx无效。”错误。是否有一些属性可以赋予该属性,使其被忽略而不映射到任何内容?

    编辑:如果我按照下面马丁的例子添加了一个自定义属性,那么下面的代码将在savechanges调用中引发上面的错误。

    MyEntities svc = new MyEntities(url);
    MyEntity ent = new MyEntity();
    ent.MyField = "Hello, world";
    svc.AddMyEntity(ent);
    svc.SaveChanges();
    
    2 回复  |  直到 15 年前
        1
  •  2
  •   Martin Liversage    15 年前

    可以在代码中添加属性:

    public partial class MyEntity {
      public String MyCustomProperty {
        get;
        set;
      }
    }
    

    实体框架生成部分类,使您能够自定义生成的类。

    此外,为了对您的代码进行评论,我认为应该将其更改为如下所示:

    MyEntities svc = new MyEntities(url);
    // Create MyEntity using the factory method.
    MyEntity ent = MyEntities.CreateMyEntity(...);
    ent.MyField = "Hello, world";
    svc.AddMyEntity(ent);
    svc.SaveChanges();
    

    这将确保您的实体已正确初始化。

        2
  •  1
  •   Jeff Martin    14 年前

    答案如下: http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataservices/thread/b7a9e01d-c5c2-4478-8f01-00f7f6e0f75f

    编辑: A better link 描述添加属性以防止在发送到服务时对实体进行序列化的最终压缩答案。