Внешний ключ, получающий два первичных ключа из одной таблицы – Fluent NhibernateC#

Место общения программистов C#
Ответить
Anonymous
 Внешний ключ, получающий два первичных ключа из одной таблицы – Fluent Nhibernate

Сообщение Anonymous »

У меня возникла проблема при попытке создать составной идентификатор, который получает один внешний ключ из одной таблицы и другой внешний ключ из другой таблицы, но этот второй внешний ключ содержит два первичных ключа, и это доставляет мне большую головную боль при разрешении. Кто-нибудь знает, как решить эту проблему?

Вот мой код:

Entity

public class GrupoArquivo
{
public GrupoArquivo() {}

public GrupoArquivo(ArquivoRetorno arquivoRetorno, GrupoModulo grupo, GrupoModulo modulo) : this()
{
Arquivo = arquivoRetorno;
Grupo = grupo;
Modulo = modulo;
}

public virtual ArquivoRetorno Arquivo { get; protected set; }
public virtual GrupoModulo Grupo { get; protected set; }
public virtual GrupoModulo Modulo { get; protected set; }

public override bool Equals(object obj)
{
var grupoArquivo = (obj as GrupoArquivo);

if (grupoArquivo != null)
{
if (ReferenceEquals(obj, this))
return true;

var thisHash = GetHashCode();
var otherHash = grupoArquivo.GetHashCode();

return thisHash.Equals(otherHash);
}
return false;
}

public override int GetHashCode()
{
return string.Concat("{0}|{1}|{2}", Arquivo, Grupo, Modulo).GetHashCode();
}
}


Сопоставление

public class GrupoArquivoMap : ClassMap
{
public GrupoArquivoMap()
{
Schema(Const.SCHEMA);
Table(Const.TB_EMAIL_GRUPO_ARQUIVO);

CompositeId()
.KeyReference(x => x.Arquivo, Const.ID_ARQUIVO)
.KeyReference(x => x.Grupo, Const.ID_GRUPO)
.KeyReference(x => x.Modulo, Const.ID_MODULO)
;
}
}


Подробнее здесь: https://stackoverflow.com/questions/273 ... nhibernate
Ответить

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

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

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

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

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