【问题标题】:TableAdapter exception with joins带有联接的 TableAdapter 异常
【发布时间】:2016-07-27 06:35:10
【问题描述】:

我为 db 构建了 asp.net 应用程序,我使用 TableAdapter。 选择查询

SELECT
    U.empID,
    U.firstName,
    U.lastName,
    R.name AS Role
FROM
    USER_T AS U
INNER JOIN USER_ROLES_T AS UR ON U.empID = UR.empID
INNER JOIN ROLES_T AS R ON UR.roleID = R.typeID

empId 带有约束 primary key。 Employee有很多角色属性,命名为role。

当我从 db 执行用户数据请求时:

UsersTableAdapter usersTableAdapter = new UsersTableAdapter();
DataBase.UsersDataTable users = usersTableAdapter.GetUsers();

我得到以下异常:

Controllers.UI.Login.LoginController|System.Data.ConstraintException: 失败

启用约束。一行或多行包含违规值 非空、唯一或外键约束。

如果我使用它得到的任何管理程序执行请求选择请求

    28 Roman Ivanov Admin
    28 Roman Ivanov Developer

我明白了,这是因为primary key empId,这个问题怎么解决?如何从适配器中删除主键?

【问题讨论】:

标签: c# sql-server tableadapter


【解决方案1】:

如上图在Visual Studio中打开UsersTableAdapter设计并右键单击它并删除密钥然后保存,它将完美运行。

【讨论】:

  • 但我做不到,主键在客户的数据库中,我没有任何选项可以执行删除
  • 不不,它不会从数据库中删除主键,只会从适配器中删除
猜你喜欢
  • 2014-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-13
  • 1970-01-01
  • 2012-10-16
  • 2014-05-18
  • 2011-12-22
相关资源
最近更新 更多