将自定义属性添加到Client Side Entity类

entity-framework

我需要向Entity Framework类添加一个自定义属性,但是当我这样做时,我得到“为XXX类型指定的属性名称XXX无效”。错误。是否有一些属性我可以给属性,所以它被忽略,并没有映射到任何东西?

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

MyEntities svc = new MyEntities(url);
MyEntity ent = new MyEntity();
ent.MyField = "Hello, world";
svc.AddMyEntity(ent);
svc.SaveChanges();

一般承认的答案

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

编辑: 更好的链接描述了添加属性的最终紧凑答案,以防止在发送到服务时实体的序列化。


热门答案

您可以在代码中添加属性:

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();

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



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因