0

私がテーブルを持っているとしましょうTabA

namespace MyProject.Models.Database //<-- the same namespace as the EF's dbmx file
{
    public partial class TabA
    {
        public void Foo()
        { 
            //
        }
    }
 }

メソッド内で、Foo関連付けられていない他のテーブルに対していくつかの操作を実行する必要がありTabAます。つまり、そのメソッド内のEntityFrameworkアダプターにアクセスする必要があります。出来ますか ?

編集

答えはここにありますhttps://stackoverflow.com/a/11135157/106616

4

1 に答える 1

1

私が問題を正しく理解していれば、TabA エンティティから別のエンティティに取り組みたい理由があると思います。これが本当なら、これを行う方法は 2 つあります。

A) TabA エンティティへの他の潜在的な変更と同時に変更を適用する場合は、いつでもコンテキストをパラメーターとして渡すことができます。

namespace MyProject.Models.Database //<-- the same namespace as the EF's dbmx file 
{ 
    public partial class TabA 
    { 
        public void Foo(YourDbContext context) 
        {  
            var otherTableQuery = from x in context.SecondTable
                             where ...
                             select x;

            foreach (var item in otherTableQuery)
            {
                item.Column1 = "A certain value";
            }
        } 
    } 
}

呼び出し方法は次のようになります。

public void DoChangesToTabA()
{
    using ( YourDbContext context = new YourDbContext())
    {
        var tabAquery = from x in context.TabA
                        where ...
                        select x;

        foreach( var item in tabAQuery)
        {
            item.LastModified = DateTime.Now;

            if(???)
            {

            }

        }
    }
} 

これで、次に呼び出し元のメソッドから context.SaveChanges() を呼び出したときに、変更が適用されます。

于 2012-09-06T15:10:12.013 に答える