3

次のように、Entity Data Model を使用して、データを Sql Server データベースに正常に保存できました。

MEDIANEntities db = new MEDIANEntities();
tblCountry objTable = new tblCountry();
objTable.Name= txtName.Text.Trim();
objTable.CreatedDate = System.DateTime.Now;
db.AddTotblCountries(objTable);
db.SaveChanges();

現在のアイデアは、クラス ライブラリで EDM を使用して、他のプロジェクト (基本的には層アーキテクチャ) で使用できるようにすることです。クラス ライブラリ (「MedianContext」) を作成し、その中に新しい edmx ファイル (「MedianModel」) を作成しました。そして、別のクラス ライブラリ - 'MedianDAL' です。それに MedianContext の参照を追加しました。

objcontext および tb のプロパティにアクセスできません。どうすればさらに進むことができますか。多くの例で見られるように、MedianDAL への参照を追加すると、MediaContext.dll は Release フォルダーではなく debug フォルダー内にありました。

ここに画像の説明を入力

4

2 に答える 2

1

で試しましたLinq2Entitiesか?
例えば:

try
{
    using (var medianEntities = new MedianModel.MEDIANEntities())
    {
          //Do any LinqToEntity-Expressions
    }
}
catch(Exception)
{ 
    //ErrorHandling
}

それは私にとってはうまくいきます。また、別のプロジェクトに .edmx ファイルがあり、これへの参照を追加しました。

編集:

もちろん、このコードをメソッド本体に入れる必要があります。
簡単な例を次に示します。

public List<Map> GetAllMaps()
{
    var Maps = new System.Collections.Generic.List<Map>();

    try
    {
         using (var mapEntities = new Model.MapEntities())
         {
              var MyMaps= (from M in mapEntities.Maps
                               orderby M.Description
                               select M.MapID, M.Description);

             foreach (var Map in MyMaps)
             {
                   Maps.Add(Map);
             }
          }
          return Maps;
      }
      catch (System.Exception Exc)
      {
          Log.Err(string.Format("Error: {0}", Exc));
          throw new System.Exception(Exc.ToString());
      }
}
于 2013-10-24T13:41:09.150 に答える
0

おそらく、クラスのコンテキストでプロパティにアクセスしようとしているからでしょうか? このクラスのコンストラクターを作成し、そこからプロパティにアクセスします。

public Test
{
tb....
}
于 2013-10-24T13:12:17.400 に答える