首页 / C# / c# – 打破WCF的多个实体框架表
c# – 打破WCF的多个实体框架表
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 打破WCF的多个实体框架表,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1650字,纯文字阅读大概需要3分钟。
内容图文
![c# – 打破WCF的多个实体框架表](/upload/InfoBanner/zyjiaocheng/794/36ed99208b094ccf914e00816ddc5c77.jpg)
我不认为我疯了所以我回去做了一个示例项目来重现并展示发生了什么.
我有4个简单的项目,如下所示
我将EDMX添加到数据项目中
这是我的表结构
这是EDMX的属性
和生成的类
将对WCF服务库的引用添加到Data项目
使用默认测试测试Wcf客户端
添加Wcf方法
而她正在要求EF6参考
添加引用后我的方法是这样的
再次运行Test Client我得到了这个例外
所以我从Data.Edmx项目中复制连接字符串并将其添加到WCF项目中
并运行测试客户端,并在EDMX中只有一个表是正确的返回.
但是当我更新模型并添加正常的多个表时它会中断.所以我只添加了一个表(如下所示),它打破了这个错误.它适用于任何表格.模型中有多个表,它不起作用.
我缺少一步吗?或者为什么多个表使用EF6.1打破WCF?
编辑这也打破了它
有类似的课程
public partial class Item
{
public int ItemId { get; set; }
public string Name { get; set; }
public int CategoryId { get; set; }
public virtual Category Category { get; set; }
}
和
public partial class Category
{
public Category()
{
this.Categories1 = new HashSet<Category>();
this.Items = new HashSet<Item>();
}
public int CategoryId { get; set; }
public string Name { get; set; }
public Nullable<int> ParentId { get; set; }
public virtual ICollection<Category> Categories1 { get; set; }
public virtual Category Category1 { get; set; }
public virtual ICollection<Item> Items { get; set; }
}
解决方法:
这里的问题是当WCF调用返回时,它会尝试序列化对象(也包括导航属性).
public virtual Category Category { get; set; }
和
public virtual ICollection<Category> Categories1 { get; set; }
public virtual Category Category1 { get; set; }
public virtual ICollection<Item> Items { get; set; }
如果您不需要导航属性,则只需将其标记为私有或内部属性即可.
您还可以查看此链接以获取更多详细信息Entity Framework Navigation Properties looping issue though WCF
内容总结
以上是互联网集市为您收集整理的c# – 打破WCF的多个实体框架表全部内容,希望文章能够帮你解决c# – 打破WCF的多个实体框架表所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。