【发布时间】:2011-02-07 20:12:37
【问题描述】:
我正在尝试从连接表中获取单个属性,其中我的主表中的非 PK 连接到外部表的 PK。下面是一个过于简单的示例,说明我正在尝试完成的工作(我不想引用外国实体):
表格:
CREATE TABLE Status
(
Id int,
Body text,
CategoryId int
)
CREATE TABLE Category
(
Id int,
Name text
)
要生成的 SQL:
SELECT Id, Body, CategoryId, Category.Name AS CategoryName
FROM Status
LEFT JOIN Category ON Category.Id = Status.CategoryId
我正在尝试在 StatusMap 中像这样映射连接,但它似乎正在连接两个主键(其中 Status.Id = Category.Id):
Join("Category" m =>
{
m.Optional();
m.KeyColumn("CategoryId");
m.Map(x => x.CategoryName, "Name");
});
【问题讨论】:
-
我也不知道该怎么做。如果您正在寻找解决方法,则可以改为映射到视图,这是我通常为此类事情所做的。
-
这就是我目前用作解决方法的方法,很高兴我不是唯一一个 :)
标签: c# nhibernate fluent-nhibernate nhibernate-mapping