在BindingListView中发现模糊匹配异常



我一直得到这个异常,而使用Andrew Davey的BindingListView (http://blw.sourceforge.net/)。我正在使用ServiceStack OrmLite。我的对象是这样的:

public class Category
{
    [PrimaryKey, AutoIncrement]
    public int Id { get; set; }
    [StringLength(50)]
    public string Name { get; set; }
}

public class Product
{
    [PrimaryKey, AutoIncrement]
    public int Id { get; set; }
    [References(typeof(Category))]
    public int CategoryId { get; set; }
    public int ProductTypeId { get; set; }
    [StringLength(50)]
    public string Name { get; set; }
    [Reference]
    public Category Category { get; set; }
}

我不知道如何传递这个异常。

编辑

异常发生在以下代码的第一行:

var products = dbConn.Select<Product>().OrderBy(p => p.Name).ToList();
var productsView = new BindingListView<Product>(products);
dgProducts.DataSource = productsView;

你有

product.Name
product.Category.Name
product.Id  
product.Category.Id

当lib做反射获取Property时,它得到2 "Name"

code不知道你想要哪一个。产品。Product.Category.Name.


tldr:简单的修复是改变其中一个属性名称

public class Category
{
    public int cId { get; set; }
    public string cName { get; set; }
}

public class Product
{
    [PrimaryKey, AutoIncrement]
    public int Id { get; set; }
    [References(typeof(Category))]
    public int CategoryId { get; set; }
    public int ProductTypeId { get; set; }
    [StringLength(50)]
    public string Name { get; set; }
    [Reference]
    public Category Category { get; set; }
}

相关内容

  • 没有找到相关文章

最新更新