我使用Linq-to-SQL创建了一个Area类。
现在我想创建一个同名的部分类,以便我可以实现验证。有什么帮助吗?
错误1无法隐式转换类型 '
System.Data.Linq.Table<SeguimientoDocente.Area>
' 至 'System.Linq.IQueryable<SeguimientoDocente.Models.Area>
'C:\ Users \ Sergio \ documents \ visual 工作室 2010 \ Projects \ SeguimientoDocente \ SeguimientoDocente \ Models \ AreaRepository.cs 14 20 SeguimientoDocente
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace SeguimientoDocente.Models
{
public class AreaRepository
{
private SeguimientoDataContext db = new SeguimientoDataContext();
public IQueryable<Area> FindAllAreas()
{
return db.Areas;
}
public Area GetArea(int id)
{
return db.Areas.SingleOrDefault(a => a.ID == id);
}
public void Add(Area area)
{
db.Areas.InsertOnSubmit(area);
}
public void Delete(Area area)
{
db.Areas.DeleteOnSubmit(area);
}
public void Save()
{
db.SubmitChanges();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace SeguimientoDocente.Models
{
public partial class Area
{
}
}
这是截图。
答案 0 :(得分:3)
这几乎可以肯定是因为您的部分类不在正确的命名空间中。进入LINQ模型的.designer.cs文件,查找生成的Area类,并确保在匹配中包装部分类的命名空间。
修改强>
我刚修复了你问题中的格式。实际上,错误消息表明您的部分类位于错误的命名空间中。
错误1无法隐式转换类型 '
System.Data.Linq.Table<SeguimientoDocente.Area>
' 至 'System.Linq.IQueryable<SeguimientoDocente.Models.Area>
'
从上面的错误中可以看出,您需要将部分类所在的命名空间更改为SeguimientoDocente,而不是SeguimientoDocente.Models。就目前而言,它们是两种完全不同的不兼容类型,恰好具有相同的简单名称。
答案 1 :(得分:2)
错误消息告诉您问题出在AreaRepository.cs
文件的第14行。具体来说,您尝试从返回类型为db.Areas
的方法返回IQueryable<Area>
,但db.Areas
实际上属于System.Data.Linq.Table
类型。