0

例として次のようなものを与えられました。

   public TestAccountConfiguration()
    {

        HasRequired(a => a.Application)
            .WithMany(t => t.TestAccounts)
            .HasForeignKey(d => d.ApplicationId)
            .WillCascadeOnDelete(false);
    }

すべての文字 a、t、d に意味はありますか? 例を見ると、人々は時々任意の文字を選択するようです.

4

3 に答える 3

1

それらはラムバ式です。これらはローカル変数であり、任意のものにすることができます。

HasRequired(app => app.Application)
            .WithMany(test => test.TestAccounts)
            .HasForeignKey(testAccount => testAccount.ApplicationId)
            .WillCascadeOnDelete(false);

個人的には、関連性のある名前を付けようとしていますが、それはあなた次第です。

于 2013-03-07T16:49:48.840 に答える
0

MSDNから:

ラムダ式を作成するには、入力パラメーター (存在する場合) をラムダ演算子 => の左側に指定し、式またはステートメント ブロックを反対側に置きます。たとえば、ラムダ式 x => x * x は、x という名前のパラメーターを指定し、x の 2 乗の値を返します。次の例に示すように、この式をデリゲート型に割り当てることができます。

つまり、関数のパラメーター リストは左側にあり、関数自体は=>シンボルの右側にあります。

于 2013-03-07T16:50:20.430 に答える
0

これらの文字は、無名関数のパラメーターの名前です。それらの名前は問題ではありません。同じ名前の別の変数と競合してはならないことを除いて、好きな名前を使用できます。特に、イベント ハンドラーにはe既に名前が付けられているパラメーターが含まれていることがよくあります。つまり、そのイベント ハンドラー内のラムダ式をeパラメーター名として再度使用することはできません。それ以外はお好きなものをどうぞ。

まるで

int addOne1(int x)
{
   return x + 1;
}

int addOne2(int y)
{
   return y + 1;
}

Func<int, int> addOne3 = z => z + 1;

これらの関数はすべてまったく同じことを行います。(実際には) 関数の外から見た場合、それらの間に違いはありません。

于 2013-03-07T16:51:41.613 に答える