【发布时间】:2010-02-25 22:16:49
【问题描述】:
我在一个类中使用带有亚音速的 LINQ 来获取我的数据,代码如下:
public IQueryable<Veiculo> SelecionaVeiculosSite()
{
return (from v in _db.Veiculos
where v.Ativo == true &&
v.Marca.Ativo == true &&
v.Modelo.Ativo == true
select v
);
}
您会在“v.Marca.Ativo == true”处看到一个不同之处,我在 ActiveRecord 的模板中进行了一次修改以获得一个而不是一个 IQueryable。这是我创建的基于我的数据库的外键建立类关系的方式。
这是模板中修改的代码(生成):
public Marca Marca
{
get
{
var repo=OKMMySql.Marca.GetRepo();
return (from items in repo.GetAll()
where items.ID_Marca == _ID_Marca
select items).SingleOrDefault();
}
}
在代码中没问题,但是这个选择返回这个执行时间错误:
二元运算符 Equal 不是 为类型定义 'System.Nullable`1[System.Int32]' 和 'System.Int32'。
任何人有任何想法或任何东西可以帮助我解决这个问题?
非常感谢
【问题讨论】: