Estoy tratando de obtener una sola propiedad de una tabla unida donde una PK no perteneciente a mi tabla principal se une a la PK de la tabla externa. A continuación se muestra un simplificada ejemplo de lo que estoy tratando de lograr (no quiero hacer referencia a la entidad extranjera):Combinación fluida de NHibernate no usando la clave principal
Tablas:
CREATE TABLE Status
(
Id int,
Body text,
CategoryId int
)
CREATE TABLE Category
(
Id int,
Name text
)
SQL para generar:
SELECT Id, Body, CategoryId, Category.Name AS CategoryName
FROM Status
LEFT JOIN Category ON Category.Id = Status.CategoryId
Estoy tratando de asignar la unión como esta en el mapa de estado, pero que parece unirse a las dos claves primarias (donde Status.Id = Category.Id):
Join("Category" m =>
{
m.Optional();
m.KeyColumn("CategoryId");
m.Map(x => x.CategoryName, "Name");
});
No puedo encontrar la manera de hacer esto tampoco. Si está buscando una solución alternativa, es posible que pueda asignar a una vista, que es lo que suelo hacer para este tipo de cosas. – cbp
Eso es lo que estoy usando actualmente como solución, me alegra no ser el único :) – jwarzech