0
私はストアドプロシージャGetMyTimeを持っています。 1つのパラメータint PersonIDを持ち、データを返します。それをEDMXに追加して関数としてインポートした後。 EF 3.5のストアドプロシージャからインポート関数のコードを書き込む方法は?
public ObjectResult<Nullable<global::System.DateTime>> GetMyTime(Nullable<global::System.Int32> PersonID)
{
ObjectParameter[] PersonIDParameters;
if (PersonID.HasValue)
{
PersonIDParameters = new ObjectParameter[]{new ObjectParameter("PersonID", PersonID)};
}
else
{
PersonIDParameters = new ObjectParameter[]{new ObjectParameter("PersonID",typeof(global::System.Int32))};
}
return base.ExecuteFunction<Nullable<global::System.DateTime>>("GetMyTime", PersonIDParameters); //this line cause error
}
しかし、私は最後の行でエラーが発生します:その後、私は以下のようにコードを書くために4.0をモックアップしよう「?のSystem.DateTime」タイプ2 エラージェネリック型またはメソッド 'System.Data.Objects.ObjectContext.ExecuteFunction(string、params System.Data.Objects.ObjectParameter [])'で型パラメータ 'TElement'として使用することはできません。ボクシングの変換 'System.DateTimeからですか?'を 'System.Data.Objects.DataClasses.IEntityWithChangeTracker'に設定します。
修正方法?
ありがとうございました。私は4.0ではなく3.5で作業しています(XPではVS 2008 sp1)。コードを修正して動作させることは可能ですか? – KentZhou
3.5では、エンティティタイプを返すprocsのみをマップできます。 –