[解決済み] Automapper のタイプマップ構成がない、またはサポートされていないマッピング - エラー
2022-03-08 20:24:07
質問
エンティティモデル
public partial class Categoies
{
public Categoies()
{
this.Posts = new HashSet<Posts>();
}
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public Nullable<int> PositionId { get; set; }
public virtual CategoryPositions CategoryPositions { get; set; }
public virtual ICollection<Posts> Posts { get; set; }
}
ビューモデル
public class CategoriesViewModel
{
public int Id { get; set; }
[Required(ErrorMessage = "{0} alanı boş bırakılmamalıdır!")]
[Display(Name = "Kategori Adı")]
public string Name { get; set; }
[Display(Name = "Kategori Açıklama")]
public string Description { get; set; }
[Display(Name = "Kategori Pozisyon")]
[Required(ErrorMessage="{0} alanı boş bırakılmamalıdır!")]
public int PositionId { get; set; }
}
CreateMap
Mapper.CreateMap<CategoriesViewModel, Categoies>()
.ForMember(c => c.CategoryPositions, option => option.Ignore())
.ForMember(c => c.Posts, option => option.Ignore());
地図
[HttpPost]
public ActionResult _EditCategory(CategoriesViewModel viewModel)
{
using (NewsCMSEntities entity = new NewsCMSEntities())
{
if (ModelState.IsValid)
{
try
{
category = entity.Categoies.Find(viewModel.Id);
AutoMapper.Mapper.Map<CategoriesViewModel, Categoies>(viewModel, category);
//category = AutoMapper.Mapper.Map<CategoriesViewModel, Categoies>(viewModel);
//AutoMapper.Mapper.Map(viewModel, category);
entity.SaveChanges();
// Veritabanı işlemleri başarılı ise yönlendirilecek sayfayı
// belirleyip ajax-post-success fonksiyonuna gönder.
return Json(new { url = Url.Action("Index") });
}
catch (Exception ex)
{
}
}
// Veritabanı işlemleri başarısız ise modeli tekrar gönder.
ViewBag.Positions = new SelectList(entity.CategoryPositions.ToList(), "Id", "Name");
return PartialView(viewModel);
}
}
エラー
タイプマップの設定がない、またはマッピングがサポートされていません。 マッピングのタイプ CategoriesViewModel -> Categoies_7314E98C41152985A4218174DDDF658046BC82AB0ED9E1F0440514D79052F84D NewsCMS.Areas.Admin.Models.CategoriesViewModel -> System.Data.Entity.DynamicProxies.Categoies_7314E98C41152985A4218174DDDF658046BC82AB0ED9E1F0440514D79052F84D
デスティネーションパスです。 Categoies_7314E98C41152985A4218174DDDF658046BC82AB0ED9E1F0440514D79052F84D
ソースの値です。 NewsCMS.Areas.Admin.Models.CategoriesViewModel。
何が足りないのでしょうか?探してみましたが、問題が見当たりません。
アップデイト
Global.asaxのapplication_startに指定しました。
protected void Application_Start()
{
InitializeAutoMapper.Initialize();
}
初期化クラス
public static class InitializeAutoMapper
{
public static void Initialize()
{
CreateModelsToViewModels();
CreateViewModelsToModels();
}
private static void CreateModelsToViewModels()
{
Mapper.CreateMap<Categoies, CategoriesViewModel>();
}
private static void CreateViewModelsToModels()
{
Mapper.CreateMap<CategoriesViewModel, Categoies>()
.ForMember(c => c.CategoryPositions, option => option.Ignore())
.ForMember(c => c.Posts, option => option.Ignore());
}
}
解決方法は?
私は解決策を見つけた、すべての返信に感謝します。
category = (Categoies)AutoMapper.Mapper.Map(viewModel, category, typeof(CategoriesViewModel), typeof(Categoies));
しかし、その理由はすでにわからない。理解しきれない。
関連
-
[解決済み】同じキーのアイテムがすでに追加されています。
-
[解決済み] GET リクエストを許可するには、JsonRequestBehavior を AllowGet に設定します。
-
[解決済み] ASP.NET MVCでHTML-5のdata-*属性でダッシュを使用する方法
-
[解決済み】Automapperで1つのプロパティのマッピングを無視する
-
[解決済み】Html.ActionLinkが"?Length=4 "とレンダリングされるのはなぜか?
-
[解決済み】NULLモデルを持つrenderpartialは、間違った型を渡される
-
[解決済み】Html.ActionLinkを使用して別のコントローラのアクションを呼び出す
-
[解決済み] アクションリンクでエリア名を指定するには?
-
[解決済み] Razorを使ってエンコードされていないJsonをViewに書き込むにはどうしたらいいですか?
-
[解決済み] ASP.NET MVC 1でHttpContextBaseからHttpContextオブジェクトを取得するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JsonResultが特殊文字(apostrophe)を \u0027 としてパースしています。
-
[解決済み】認証や認可に失敗した場合、AuthorizeAttributeがログインページにリダイレクトされるのはなぜですか?
-
[解決済み】MVC 4 Razor ファイルアップロード
-
[解決済み] [Solved] ASP.NET MVCでアクションの絶対URLを見つけるにはどうすればよいですか?
-
[解決済み】ASP.NET MVCのルートをサブドメインに基づいて作成することは可能ですか?
-
[解決済み】ASP.NET MVC 3 - 部分テンプレートと表示テンプレートと編集テンプレート
-
[解決済み】AutoMapper.CreateMapsをどこに配置するか?
-
[解決済み] mvc 4 で部分ビューにパラメータを渡すにはどうすればよいですか?
-
[解決済み] ASP.NET MVC: UrlHelperを使用するコントローラのユニットテスト
-
[解決済み] ソートロジックは、モデル、ビュー、コントローラのいずれに配置するのがよいのでしょうか?[クローズド]