读书人

Linq 属性映射的有关问题头疼两天了

发布时间: 2012-09-07 10:38:15 作者: rapoo

Linq 属性映射的问题,头疼两天了
有一个实体基类如下
public abstract class EntityBase
{
public abstract int Id { get; set; }
}

有一个实体类如下
[Serializable]
[Table(Name = "shop")]
public class Shop : EntityBase
{
private int id;
[Column(Name = "Id")]
public override int Id
{
get{return id;}
set{id = value;}
}
[Column(Name = "shop_code")]
public string ShopCode { get; set; }
}
数据库操作基类如下
public class Manager<Entity> where Entity: EntityBase
{
//根据主键查询方法
public virtual Entity Get(int id)
{
Entity result;
using (DataContext context = new DataContext("数据库连接字符串"))
{
Table<Entity> entities = context.GetTable<Entity>();
var results = from entity in entities
where entity.Id == id//重点就是这句
select entity;

result = results.Count() > 0 ? results.First() : null;
}
return result;
}
}
只要加上重点那句就会报下面的错误:类成员 EntityBase.Id 未映射。

哪位大神指点一下,谢谢了,qq:506795

[解决办法]
试试
where entity.Id equals id

读书人网 >C#

热点推荐