2012-03-28 9 views
2

開発マシンの1つでこのエラーが発生します。このエラーは、同じデータベースを指している他のマシンでは発生していません。間違いなく両方のサーバーは同一ではありません。私は1つのサーバーに欠けているソフトウェアがこの問題を引き起こすのかどうかわかりません。どちらのマシンも同じOS 2008 R2を実行しています。System.InvalidOperationException:Nullableオブジェクトには値が必要です。 Linq to SQL

using (MYDB.MyDB oDB = new MYDB.MyDB()) 
     { 
      var query = from t in oDB.Products 
         where (_ProductId.HasValue?_ProductId==t.Productid:true) 
         select new Product() 
         { 
          ProductId = t.Productid, 
          ManufacturerId = t.Manufacturerid, 
          ManufacturingNumber = t.Manufacturingnumber, 
          CustomProduct = t.Iscustomproduct ? "Yes" : "No", 
          IsCustomProduct = t.Iscustomproduct, 
          SubCategoryName = t.Subcategory.Subcategoryname 
         }; 
      return query.ToList(); 
     } 

すべてのヘルプは非常に私が同等の場合に例外を再現することはできませんが、一部_ProductId.HasValue?_ProductId==t.Productid:trueは、容疑者を探します

おかげで、 Senthilkumar

答えて

1

を高く評価しています。次のように私はそれを変更するだろうし、あなたが幸運なら、それはまた、あなたの問題を解決し、それ以外の場合は、とにかく改善です:

var query = from t in oDB.Products; 
if (_productId.HasValue) 
{ 
    query = query.Where(t => t.Productid == _productId.Value); 
} 
query = query.Select(t => new Product() {... 

もう一つの原因はProduct.ProductIdがNULL可能でint型ではないことが考えられます。

関連する問題