これは私の最初の投稿です。私はC#/ OOとLinqPADも新しくなっています。 (翻訳先:「学習モード」になっているためにコンセプトや用語が誤って使用される可能性があります)LinqPad Entity FrameworkとNullExceptionReference
次のクエリにバグを絞り込んだアプリケーションがあります。制約のある環境で問題を解決するためにLinqPADを試してみることにしました。
私たちのデータベースとのやり取りには、Entity Frameworkを使用しています。私はLinqPADの"C#プログラム"の選択を使用しています。
LinqPADでエンティティを使用する方法に関する素晴らしいチュートリアルが見つかりましたが、これはうまくいくようです。 (証明:エンティティが正常に接続されていなかった場合と同様に、「aEntities」はエラーを返しません)
問題に至りましょう。
「var」で「NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません」と表示されます。
私がここで尋ねる理由は、この「var」アプローチを使用しているすべての単一の例です。何らかの理由で動作しません。私は 'qryDC'を宣言しようとしました、新しいインスタンスを作成し、それを割り当てる。 (私はここで弱い知識を感じていますが、読んで学びます。)
私はこのトピックについてJohn Saunders epicを読んでいます。 (ワウマン!ありがとう!) What is a NullReferenceException, and how do I fix it?
しかし、私の問題(学習曲線)に対処するためにその知識を翻訳することができませんでした。ここで
はコードです:
void Main(AEntities aEntities)
{
decimal fmProjectUID = 1123;
var qryDC =
from pnp in aEntities.PNonPRs
from p in aEntities.Projects
from pt in aEntities.PurchaseTypes
from wbs in aEntities.P32
from pc in aEntities.PPhases
where pnp.ProjectUID == p.ProjectUID
where p.ProjectUID == fmProjectUID
where pnp.PurchaseTypeUID == pt.PurchaseTypeUID
where pnp.P32UID == wbs.P32UID
where pt.IsNonPR == 1
orderby pt.PurchaseTypeID
select new
{
PNonPrUID = pnp.PNonPrUID
,PurchaseTypeID = pt.PurchaseTypeID
,PhaseCode = pnp.ProjectPhase.PhaseCode
,DANbr = pnp.AType.DANbr
,PreAmt = pnp.PreAmt
,POStDate = pnp.POStDate
,POFDate = pnp.POFDate
,BaseAmt = pnp.BaseAmt
,Notes = pnp.Notes
,ChangedByName = pnp.ChangedByName
};
}
は、あなたがより多くの情報が必要なら、私に教えてください。
あなたの時間、努力および考えに感謝します。
フォローアップしていただきありがとうございます。私はLinqPADをアプリケーション用のDLLにポイントして、接続文字列を使用できるようにしました。 "aEntities"を削除することで問題が解決されました。私はどこから来ているのかを指摘してくれてありがとう。続いて、私はデバッガを学んでいました。あなたがそれを知るようになると、この問題ではうまくいきませんでした。 LinqPADのライセンスを取得したコピーの代金を支払う必要がありますが、私はそこでデバッグすることができます。ありがとうございました。 –