私はAutoMapperを初めて使用しています。私はPlayerFromDb.PositionにPlayerFromCache.PositionのようなタイプDbGeographyのプロパティをマップしたいと思っています。私はエラーを取得し続けるので、私は最も簡単なバージョンにコードを決裂:これは例外になりDbGeographyを使用したAutomapperの例外は「WellKnownValue ...」
Mapper.Initialize(cfg =>
{
cfg.CreateMap<DbGeography, DbGeography>();
});
var pos1 = DbGeography.PointFromText($"POINT(11.0 12.0)", DbGeography.DefaultCoordinateSystemId);
var pos2 = DbGeography.PointFromText($"POINT(22.0 23.0)", DbGeography.DefaultCoordinateSystemId);
Mapper.Map(pos1, pos2);
:
WellKnownValueプロパティはシリアル化および逆シリアル化をサポートすることを意図していないはずさ直接設定してください。
私は立ち往生しています。どんな助けもありがとう。
私はWellKnownValueを無視すると、その後、マッピングは動作しません:
Mapper.Initialize(cfg =>
{
cfg.CreateMap<DbGeography, DbGeography>()
.ForMember(x => x.WellKnownValue, opt => opt.Ignore()); ;
});
マッピングPOS2はまだ後22/23
Lucianの答えを以下に私のコメントを参照してください。 – Tillito
@Tillito私はAutoMapperが私が記述した方法で動作することを最低限のスタンドアロンプログラムで確認しました。あなたが投稿したコメント+回答があなたが求めた質問にどのように関係しているかは分かりません。あなたはあなたがここで質問したものとは異なる質問への回答を投稿することになったのではないでしょうか? – hvd
はい、あなたは正しいです:問題は単純ではないことが判明しました。また、Entity Frameworkもエンボスしました。私はその質問を削除すべきだと思いますか?一方、私の答えは、dbgeographyフィールドを使ってオブジェクトをキャッシュしようとしている人を助け、私のようにEFとAutomapperを使うことができます... – Tillito