我习惯于使用 SQL 左连接来获取所有可用选项的列表并确定当前选择了哪些项目。我的表结构看起来像这样
Table MainRecord -- recordId | mainRecordInfo
Table SelectedOptions -- recordId | optionId
Table AvailableOptions -- optionId | optionValue
我的查询看起来像这样
SELECT optionValue, IIF(optionId IS NULL, 0, 1) AS selected
FROM AvailableOptions AS a
LEFT JOIN SelectedOptions AS s ON s.optionId = a.optionId AND a.recordId = 'TheCurrentRecord'
我试图用实体框架替换它,所以我需要模型和查询的帮助——它们都需要更正。
public class MainRecord
{
public int recordId { get; set; }
public string mainRecordInfo { get; set; }
[ForeignKey("recordId")]
public List<SelectedOptions> selectedOptions { get; set; }
}
public class SelectedOptions
{
public int recordId { get; set; }
public int optionId { get; set; }
}
public class AvailableOptions
{
public int optionId { get; set; }
public string optionValue { get; set; }
}
询问
IQueryable<AvailableOptions> options = from o in context.AvailableOptions select o;
我可以获得可用选项的列表,但如何获取列表并知道选择了哪些选项?
慕容708150
相关分类