我有一个用户表:
Users:
+ID
+Username
+...
我想使用myDBContext.Users.Find(Username)
来查找用户。在我的当前上下文中,我无法使用他的ID。
我需要使用完整的LINQ查询吗?例如:
var user = from users in myDBContext.Users.Find(Username)
where users.Username == username
select users
我尝试将用户名定义为edmx中的主键,但出现以下错误:
由主要角色“User”引用的属性必须与实体类型“CamelotShiftManagementModel.User”的关系约束的主要角色引用的键完全相同。确保在主要角色中指定所有关键属性。 C:\ Code \ CamelotShiftManagement \ CamelotShiftManagement \ Models \ CamelotDB.edmx 278 11 CamelotShiftManagement
FirstOrDefault
不是更好吗?我对SingleOrDefault
方法的理解是它会浏览整个表格以确保只有一个记录符合条件。这可能不是OP想要的。 - CronoSingleOrDefault
和FirstOrDefault
的用法。 - Jignesh Thakker