【发布时间】:2020-03-16 15:13:52
【问题描述】:
我正在尝试加入两个表,但遇到了一个我无法解决的错误。
var result = _context.FileModels
.Join(_context.FilesMetaData,
fm => fm.Id,
fmd => fmd,
(a, b) => new
{
fmId = a.Id,
fmds = b
});
return result;
这些是模型:
public class FilesMetaData
{
public Guid Id { get; set; }
public Guid FileId { get; set; }
public Guid ApplicationId { get; set; }
public string Comment { get; set; }
public string OtherData { get; set; }
public string AppUser { get; set; }
public string Origin { get; set; }
public string CreatedBy { get; set; }
public string UpdatedBy { get; set; }
public DateTime UpdatedAt { get; set; }
}
enter code here
而 FileModel 是一些具有一个索引的随机列。
【问题讨论】:
-
修复您的数据库实体类,连接将为您完成。我发现,使用
.Join的主要原因是您的数据库中没有正确设置外键。 -
我在 FilesMetaData 中有一个 FK(FileModels)
-
看起来您正在使用 EntityFramework。数据库优先还是代码优先?
-
我先用code。
-
关系是通过 EF 中的导航属性建立的。您不应该执行连接,而是急切加载(如果需要)