モデルプロパティのプロパティを無視する

dapper dapper-extensions dapper-rainbow

質問

どのようにして私のモデルのプロパティを無視することができますか?

それらのdapperライブラリのうち?

受け入れられた回答

Dapperの作成者であるSam Saffronは、別のSOユーザーの質問に応じてこの要件に対処しています 。見てみな。

また、Samが答えたDapper Extensionsライブラリを使用したい場合は、GithubまたはNugetから入手できます。

ここでは、ライブラリのテストプロジェクトからプロパティを無視する例を示します。

using System;
using System.Collections.Generic;
using DapperExtensions.Mapper;

namespace DapperExtensions.Test.Data
{
    public class Person
    {
        public int Id { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public DateTime DateCreated { get; set; }
        public bool Active { get; set; }
        public IEnumerable<Phone> Phones { get; private set; }
    }

    public class Phone
    {
        public int Id { get; set; }
        public string Value { get; set; }
    }

    public class PersonMapper : ClassMapper<Person>
    {
        public PersonMapper()
        {
            Table("Person");
            Map(m => m.Phones).Ignore();
            AutoMap();
        }
    }
}

人気のある回答

Dapper.Contribには、列を計算済みとしてマークするための組み込みサポートがあります。Insert で計算済み列をサポートできるようにComputedAttributeを追加します 。これがどのように動作するのかです:

class MyModel
{
  public string Property1 { get; set; }

  [Computed]
  public int ComputedProperty { get; set; }
}

Computed属性でマークされたプロパティは挿入時に無視されます。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow