2
由於RC中存在大量錯誤,因此在安裝VS2015 Update 1 RC
後將其降級爲Update 1 CTP
後,以下代碼停止工作,原因不明。LINQ to Entities只支持更新1 RC後降級爲CTP後投射EDM原始類型或枚舉類型
獲取:
無法轉換類型'EFCastTest.ResourceGroup爲鍵入 'EFCastTest.ISortable'。 LINQ到實體僅支持澆鑄EDM原語或枚舉類型
class Program
{
static void Main(string[] args)
{
var sorted = GetSorted<ResourceGroup>();
}
static T[] GetSorted<T>() where T : class, ISortable
{
var ctx = new Model1();
var sorted = ctx.Set<T>().OrderBy(x => x.SortOrder).ToArray(); // <- in this line
return sorted;
}
}
public interface ISortable
{
int? SortOrder { get; }
}
public partial class ResourceGroup : ISortable
{
public int? SortOrder { get; set; }
}
我剛剛重新安裝RC,它仍然無法正常工作。 在我升級到RC之前,它對CTP沒有任何問題。現在它不適用於任何版本。甚至沒有香草VS2015。 – Mikeon
@Mikeon當你看到問題時,你能檢查你使用的編譯器版本嗎?您可以從命令行運行csc.exe,或者查看c:\ Program Files(x86)\ MSBuild \ 14.0 \ Bin中的程序集版本。如果您使用的是ASP.NET 5.0,則可能會得到不同版本的編譯器,具體取決於您獲得的Roslyn包。 – divega
FWIW,我已經看到版本1.1.0.51014似乎生成與以前版本的編譯器相同的表達式樹。 – divega