当我尝试访问元数据 URL 时,Breeze 出现此错误:
http://localhost:1886/api/posts/metadata
检测到类型为“System.Xml.Linq.XAttribute”的属性“PreviousAttribute”的自引用循环。路径“root.firstAttribute.nextAttribute.nextAttribute.nextAttribute.nextAttribute.nextAttribute.nextAttribute”。异常类型:“Newtonsoft.Json.JsonSerializationException”
我的另一个 URL 正常工作并从数据库中检索数据就好了
http://localhost:1886/api/Posts/posts
我的 post.cs 没有任何可以自我引用的东西,看起来像这样
public class Post
{
public int PostID { get; set; }
public int UserID { get; set; }
public string Title { get; set; }
public string Description { get; set; }
}
我的控制器:
[BreezeController]
public class PostsController : ApiController
{
readonly EFContextProvider<PostsDbContext> contextProvider = new EFContextProvider<PostsDbContext>();
[HttpGet]
public string Metadata()
{
return contextProvider.Metadata();
}
[HttpGet]
public IEnumerable<Post> Posts()
{
var posts = contextProvider.Context.Posts;
return posts;
}
}
我被困在使用 Visual Studio 2010 和 EF 4 和 .net 4 的 Windows XP 上。Breeze 是否存在版本问题?