如何解决EF 4.1代码优先Sql CE外键,没有导航属性
| 这是一个有趣的问题,我们有2个类(请注意,这些只是胡说八道以澄清我的问题)class Foo
{
public int Id { get; set; }
}
class Bar
{
public int Id { get; set;}
public int FooId { get;set;}
}
现在在EF 4.1中使用Code First,我需要以下几点:Foo具有0或多个启用了级联删除的条。这可以通过在模型中创建实际属性(foo中的Bar的集合)来轻松实现,但是模型也是DTO \的模型,因此无法在其上进行额外的属性(例如,如果您希望所有Bar都用于给定Foo,则需要在特定查询中询问服务)。
有什么办法可以做到这一点?目前,我有一个EF专用的Foo和Bar副本,我的存储库在该副本和实际DTO之间进行转换。
我希望有更好的方法,如果有,请教我。
谢谢!
解决方法
如此处所述,如果要使用代码优先方法创建FK实景,则始终至少需要一侧的导航属性。如果您的课程是DTO,则可以将其标记为序列化属性。例如,将WCF与ѭ1一起使用时,可以使用:
public class Bar
{
public int Id { get; set; }
public int FooId { get; set; }
[IgnoreDataMember]
public Foo Foo { get; set; }
}
如果将实体用作DTO,则使用其他属性应该没有问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。