可以';t从SQL数据源中选择"t";无法转换类型';NorthwindDataCont
本文关键字:quot 类型 NorthwindDataCont 转换 数据源 SQL 可以 选择 | 更新日期: 2023-09-27 18:01:00
我正试图从SQL server数据源中检索一些数据。这可能真的很琐碎,但我看不出我错过了什么。
到目前为止,我的代码是
public List<string> GetCountries()
{
using (var context = new NorthwindDataContext())
{
return (from c in context.Customers
select c.Country).Distinct().ToList();
}
}
但视觉工作室正在抱怨
"无法将类型"NorthwindDataContext"转换为"System.Idisposable">
关于
new NorthwindDataContext()
它似乎也无法解决
select c.Country
我使用的是.net 4.5
有人能提出什么建议吗?
这可能是因为NorthwindDataContext()
没有实现IDisposable
接口,所以不能在using()
语句中使用它。
试试这个:
public List<string> GetCountries()
{
var context = new NorthwindDataContext();
return (from c in context.Customers
select c.Country).Distinct().ToList();
}
using
语句绑定到IDisposable
接口,如MSDN文档中所述:
提供方便的语法,确保正确使用IDisposable对象。
这意味着,在返回对象列表后,应用程序将尝试处理已使用的对象,并将其标记为垃圾回收。您的using
将执行的操作对应于以下代码:
try
{
string s = myObject.Stuff();
}
finally
{
((IDisposable)myObject).Dispose();
}
很可能,您的NorthwindDataContext()
对象没有实现IDisposable
接口,然后出现强制转换错误。不能使用using
语句。