-1

非常に単純な質問なので、スタックでバラバラにならないことを願っています。

クールな SharpRepository パッケージを理解しようとしていますが、バンドルされている XmlRepository アセンブリを実装する方法に関する有用な情報を見つけることができませんでした。

実際、私は嘘をついています.nugetバージョンにはありませんが、githubバージョンにはありますが、それを使用しようとする私のがらくたの試みは失敗しました.

github ソースをコンパイルしてから、SharpRepository.Repository と SharpRepository.XmlRepository への参照を追加しました。

次に、最初に基本的なエンティティ (名前、住所、郵便番号) を作成してから、次のように簡単なテストを実行して、非常に簡単なテストを行いました。

var repo = new XmlRepository<Client, string>("C:\client.xml");

コンソール アプリをデバッグし、その行のソース コードにステップインすると、基本クラス XmlRepositoryBase.cs にドリルダウンし、メソッド LoadItems() をステップ実行して、行を実行しようとするとエラーが発生します。

_items = (List<T>)serializer.Deserialize(reader);

次のエラー メッセージが表示されます。

<client xmlns=''> was not expected.

このクラスは、テストのために非常に単純です。

public class Client
{
   public Int32 Id { get; set; }
   public String Name { get; set; }
   public String Postcode { get; set; }
}

XML ファイルは次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<client>
  <clientProfile>
    <id>1</id>
    <name>TheFragranceShop</name>
    <description>The Fragrance Shop</description>
    <enabled>true</enabled>
  </clientProfile>
</client>

事前に感謝します。うまくいけば、更新を投稿します。

4

1 に答える 1

-1

私は著者から答えを受け取りました:

XmlRepository はこちら: http://www.nuget.org/packages/SharpRepository.XmlRepository/1.3.5.18-unstable

実世界であまり使用されていないという理由だけで、プレリリースとしてマークされています (私が知る限り)。シンプルなデスクトップアプリなどの少量のデータを保存するなどの簡単なことに使用しました.

これは POCO オブジェクトで使用することを意図しており、オブジェクトのコレクションを単一の XML ファイル (リポジトリ タイプごとに 1 つ) に格納します。既存のランダムな XML ファイルのクエリに使用することを意図していないため、それが目的の場合は機能しません。

ジェフ

これは理にかなっているので、この件に関してスタックに既に投稿されている回答のいくつかを使用します。

XML からのエンティティの作成

最善の解決策は、Linq to XML と XML Serli を組み合わせて使用​​することだと思います

于 2015-05-13T09:30:47.363 に答える