0

同じ CoreData データベースを使用する 1 組の C# アプリケーション (1 つは iOS、もう 1 つは Mac) を開発しようとしています。事実上、デスクトップ アプリがデータを取り込み、iOS アプリの一部として配布されます。

XCode を使用し.xcdatamodeldて、データベースの外観を記述したファイルを生成できます。momcそれをファイルにコンパイルするために使用でき.momdます。.momその中にあるファイルを Mono プロジェクトにインクルードし、それを にロードしてNSManagedObjectModel、そこからさまざまなエンティティのすべてのプロパティにアクセスできます。

テーブルのプロパティにアクセスするのではなく、データベースからクラスのオブジェクトを作成する方法をまだ理解していません。助言がありますか?


明確にするために:XCodeでテーブル/クラスを作成できるようにしたいので、それを呼び出しますPerson。と の 2 つのフィールドNameを指定しPhoneます。Mono で次のようなコードを実行できるようにしたい:

using (var context = new NSManagedObjectContext())
{
  var me = context.Person.GetByID(1);
  me.Name = "Bobson";
  context.Save();
}

明らかに、データベースから取得する方法と保存する方法は異なりますが、要点はそこにあります。

4

3 に答える 3

0

@ t9mikeのコメント(彼が答えた場合は受け入れます)によると、私はCoreDataの使用をあきらめ、よりクロスプラットフォームのアプローチを採用しました。ORMにViciCoolStorageを使用することになりましたが、プロジェクトを機能させるには、プロジェクトにソースを埋め込む必要がありました。

于 2012-10-25T19:19:00.583 に答える
0

私はこれがあなたが求めているものだと信じています:

public partial class Item : NSManagedObject
{
   internal Item(string entityName)
      : base(NSEntityDescription)m_managedObjectModel.EntitiesByName.ObjectForKey(new NSString(entityName)), m_managedObjectContext)

ここで、entityNameはMOMからの名前です。

于 2012-09-24T12:38:29.500 に答える