Linq to SQL 类型不匹配
Linq to SQL type mismatch
读取 table 'ImageHighlight' 的内容时出现类型不匹配错误。
在 designer.cs 中 table 是:
public System.Data.Linq.Table<ImageHighlight>ImageHighlights
{
get
{
return this.GetTable<ImageHighlight>();
}
}
在我的代码中,我试图在 ApplicationStart
的方法 LoadStaticCache()
中缓存一个小的 table,这样我以后可以通过 GetHighlightImages()
.[=20 访问它的内容=]
public class StaticCache
{
private static ImageHighlight _images = null;
public static void LoadStaticCache()
{
// Get images - cache using a static member variable
using (var datacontext = new MHRDataContext())
{
_images = datacontext.ImageHighlights;
}
}
public static ImageHighlight GetHighlightImages()
{
return _images;
}
}
在代码行 _images = datacontext.ImageHighlights;
我收到错误
Cannot implicitly convert type
System.Data.Linq.Table<HolidayRentals.Core.Domain.LinqToSql.ImageHighlight>
to HolidayRentals.Core.Domain.LinqToSql.ImageHighlight
它们是同一类型。
datacontext.ImageHighlights
是 Table
,它是 ImageHighlight
的 IQueryable
。 _images
的类型是 ImageHighlight
。您不能将这些类型相互转换。
既然你想要一些缓存机制并且_images
表明它应该包含多个图像实例那么你应该改变_images
的类型。
将您的代码更改为:
public class StaticCache
{
private static List<ImageHighlight> _images = null;
public static void LoadStaticCache()
{
// Get images - cache using a static member variable
using (var datacontext = new MHRDataContext())
{
_images = datacontext.ImageHighlights.ToList();
}
}
public static List<ImageHighlight> GetHighlightImages()
{
return _images;
}
}
读取 table 'ImageHighlight' 的内容时出现类型不匹配错误。
在 designer.cs 中 table 是:
public System.Data.Linq.Table<ImageHighlight>ImageHighlights
{
get
{
return this.GetTable<ImageHighlight>();
}
}
在我的代码中,我试图在 ApplicationStart
的方法 LoadStaticCache()
中缓存一个小的 table,这样我以后可以通过 GetHighlightImages()
.[=20 访问它的内容=]
public class StaticCache
{
private static ImageHighlight _images = null;
public static void LoadStaticCache()
{
// Get images - cache using a static member variable
using (var datacontext = new MHRDataContext())
{
_images = datacontext.ImageHighlights;
}
}
public static ImageHighlight GetHighlightImages()
{
return _images;
}
}
在代码行 _images = datacontext.ImageHighlights;
我收到错误
Cannot implicitly convert type
System.Data.Linq.Table<HolidayRentals.Core.Domain.LinqToSql.ImageHighlight>
toHolidayRentals.Core.Domain.LinqToSql.ImageHighlight
它们是同一类型。
datacontext.ImageHighlights
是 Table
,它是 ImageHighlight
的 IQueryable
。 _images
的类型是 ImageHighlight
。您不能将这些类型相互转换。
既然你想要一些缓存机制并且_images
表明它应该包含多个图像实例那么你应该改变_images
的类型。
将您的代码更改为:
public class StaticCache
{
private static List<ImageHighlight> _images = null;
public static void LoadStaticCache()
{
// Get images - cache using a static member variable
using (var datacontext = new MHRDataContext())
{
_images = datacontext.ImageHighlights.ToList();
}
}
public static List<ImageHighlight> GetHighlightImages()
{
return _images;
}
}