不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
实体数据模型(EDM)加入导航属性序列化失败解决方法
编辑:dnawo 日期:2012-08-29
在实体数据模型(EDM)加入导航属性后,序列化失败:
错误提示:
引用内容
实体数据模型(EDM)加入导航属性序列化失败解决方法
将上下文对象实例Configuration.ProxyCreationEnabled属性值设置为false即可:
补充说明
[1].设置Configuration.ProxyCreationEnabled = true后,将禁用导航属性,这表示不能通过导航属性访问关联数据。
复制内容到剪贴板
程序代码

NorthwindContext context = new NorthwindContext();
var data = context.Categories.ToList();
//序列化
DataContractJsonSerializer serializer = new DataContractJsonSerializer(data.GetType());
using (MemoryStream stream = new MemoryStream())
{
serializer.WriteObject(stream, data);
Console.WriteLine(Encoding.UTF8.GetString(stream.ToArray()));
}
var data = context.Categories.ToList();
//序列化
DataContractJsonSerializer serializer = new DataContractJsonSerializer(data.GetType());
using (MemoryStream stream = new MemoryStream())
{
serializer.WriteObject(stream, data);
Console.WriteLine(Encoding.UTF8.GetString(stream.ToArray()));
}
错误提示:

不应为数据协定名称为“Category_EAAF529CDBD7F8D69F7CB877AF1BEE8D6351196C91B61FD2AB9F27727FFA8FEB:http://schemas.datacontract.org/2004/07/System.Data.Entity.DynamicProxies”的类型“System.Data.Entity.DynamicProxies.Category_EAAF529CDBD7F8D69F7CB877AF1BEE8D6351196C91B61FD2AB9F27727FFA8FEB”。请考虑使用 DataContractResolver,或将任何未知类型以静态方式添加到已知类型的列表。例如,可以使用 KnownTypeAttribute 特性,或者将未知类型添加到传递给 DataContractSerializer 的已知类型列表。
实体数据模型(EDM)加入导航属性序列化失败解决方法
将上下文对象实例Configuration.ProxyCreationEnabled属性值设置为false即可:
复制内容到剪贴板
程序代码

using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using ConsoleApplication1.Models.Mapping;
namespace ConsoleApplication1.Models
{
public class NorthwindContext : DbContext
{
static NorthwindContext()
{
Database.SetInitializer<NorthwindContext>(null);
}
public NorthwindContext()
: base("Name=NorthwindContext")
{
this.Configuration.ProxyCreationEnabled = false;
}
public DbSet<Category> Categories { get; set; }
public DbSet<Product> Products { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new CategoryMap());
modelBuilder.Configurations.Add(new ProductMap());
}
}
}
using System.Data.Entity.Infrastructure;
using ConsoleApplication1.Models.Mapping;
namespace ConsoleApplication1.Models
{
public class NorthwindContext : DbContext
{
static NorthwindContext()
{
Database.SetInitializer<NorthwindContext>(null);
}
public NorthwindContext()
: base("Name=NorthwindContext")
{
this.Configuration.ProxyCreationEnabled = false;
}
public DbSet<Category> Categories { get; set; }
public DbSet<Product> Products { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new CategoryMap());
modelBuilder.Configurations.Add(new ProductMap());
}
}
}
补充说明
[1].设置Configuration.ProxyCreationEnabled = true后,将禁用导航属性,这表示不能通过导航属性访问关联数据。






评论: 0 | 引用: 0 | 查看次数: 5903
发表评论
请登录后再发表评论!