我有一些具有大约 20 个属性的大型实体,在某些情况下,我需要从中创建 DropDownLists。在 SelectList 中,您仅使用查询返回的原始 20 个属性中的 2 个属性(ID 和名称)。
我正在使用这种方法来加载它:
new SelectList(db.Contacts.AsNoTracking().Where(x => x.idTenant == CurrentTenantID), "ContactId", "Name");
这工作正常,但联系人数据库集上的查询显然返回所有列。我应该如何将列从 20 缩小到 2 以便对数据库进行更轻松的查询?
我知道我可以仅针对这种情况在数据库中执行存储过程或视图,并将其用于 DropDownList 填充,但是......还有另一种直接使用实体框架的方法吗?
这发生在几个实体中,而不仅仅是联系人,所以我希望有一个明确的策略来处理这种场景。