Как использовать Dapper.FluentMap.Dommel.Mapping для нескольких идентификаторовC#

Место общения программистов C#
Ответить
Anonymous
 Как использовать Dapper.FluentMap.Dommel.Mapping для нескольких идентификаторов

Сообщение Anonymous »

У меня возникла проблема с использованием Dapper.FluentMap.Dommel.Mapping. Когда я регистрирую сопоставление, система определяет, что свойство с идентификатором имени уже существует, и выдает исключение. Но сопоставленный идентификатор принадлежит другому объекту. Как я могу решить эту проблему?

BaseEntity.cs

Код: Выделить всё

public abstract class BaseEntity
{
public virtual long Id { get; set; }
}
Система.cs

Код: Выделить всё

public class Sistema : BaseEntity
{
public override long Id { get; set; }
public string Nome { get; set; }
}
Arquivo.cs

Код: Выделить всё

public class Arquivo : BaseEntity
{
public override long Id { get; set; }
public Sistema Sistema { get; set; }
public Banco Banco { get; set; }
public List Erros { get; set; }
public string FullPath { get; set; }
public DateTime DtProcessamento { get; set; }
public int QtRegistros { get; set; }
public Decimal VlTotal { get; set; }
public int Sequencial { get; set; }
public bool isValid { get; set; }
public TipoComunicacao tipoComunicacao { get; set; }
}
ArquivoMap.cs

Код: Выделить всё

public class ArquivoMap : DommelEntityMap
{
public ArquivoMap()
{
ToTable("Arquivo");

Map(a => a.Id).ToColumn("arqu_id").IsKey();

this.Map(a => a.Sistema.Id).ToColumn("sist_id"); // a.Banco.Id).ToColumn("banc_id");
//this.Map(a => a.Erros).ToColumn("erro_id"); //
this.Map(a => a.FullPath).ToColumn("arqu_nm_fullPath");
this.Map(a => a.DtProcessamento).ToColumn("arqu_dt_processamento");
this.Map(a => a.QtRegistros).ToColumn("arqu_qt_registros");
this.Map(a => a.VlTotal).ToColumn("arqu_vl_total");
this.Map(a => a.Sequencial).ToColumn("arqu_id_sequencial");
this.Map(a => a.isValid).ToColumn("arqu_bt_valid");
this.Map(a => a.tipoComunicacao).ToColumn("arqu_cd_comunicacao");
}
}
RegisterMappings.cs

Код: Выделить всё

public static void Register()
{
FluentMapper.Initialize(config =>
{
config.AddMap(new ArquivoMap()); //

Подробнее здесь: [url]https://stackoverflow.com/questions/44789056/how-to-use-dapper-fluentmap-dommel-mapping-for-multiple-ids[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»