1

私は次のEFクラスを持っています:

class Product
{
   public Guid ProductGuid { get; set; }
   public string ProductName { get; set; }
}

ProductGuiduniqueidentifierでありProductName、はnvarcharであるDBクラスから派生します。

productContextコンテキストとして考えてください:

var products = productContext.Products;
productList = products.ToList(); 

OR

productList = products.AsEnumerable(); 

最初の命令は正しく実行され、2番目(両方)は実行時に例外を起動します(正しくコンパイルされます)。

タイプ「System.Guid」をタイプ「System.Object」にキャストできません。LINQ to Entitiesは、エンティティデータモデルのプリミティブ型のキャストのみをサポートします。

私はそれが機能しないすべてを試しました。Guidフィールドを持つ他のテーブルがありますが、そのような例外が発生することはありません。原因は何ですか?

4

1 に答える 1

-1

そのプロパティで GUID 型を本当に使用する必要がありますか? とにかく、string がそれをしてくれませんか?

GUID を置き換えてみてください。代わりに文字列を使用してください。

于 2012-05-23T15:53:47.423 に答える