草庐IT

c# - 我怎么知道是否因为外键违规而引发了 SQLexception?

我想告诉用户一条记录没有被删除是因为它有子数据,但是我怎么能确定异常是因为外键违规而抛出的呢?我看到有一个用于所有sql异常的sqlexception类。 最佳答案 假设您使用的是SQLServer。使用网络存档-https://web.archive.org/web/20190120182351/https://blogs.msdn.microsoft.com/tomholl/2007/08/01/mapping-sql-server-errors-to-net-exceptions-the-fun-way/try{#SQLStu

c# - 不声明外键的导航属性

我所有的模型都至少包含两个关联。在ef4中建模时,我只能通过使用流畅的界面在没有第二个外键属性的情况下做到这一点。ForeignKey似乎是正确的属性,除了它需要一个字符串参数。所以我的问题是,您可以拥有一个导航属性并使用属性声明它吗?publicclassUser:IAuditable{//othercodepublicvirtualUserCreator{get;set;}publicvirtualUserModifier{get;set;}} 最佳答案 我相信,仅用数据属性来定义关系是不可能的。问题是EF的映射约定假定Crea

c# - 在 SQLite 中启用外键约束

我在C#中使用SQLite,并且有一些表定义了外键。现在,我知道默认情况下外键约束在SQLite中不强制执行,但我想将它们打开。是否可以通过代码来实现?我查了一个相关的question,但我不确定如何通过C#代码来完成。我正在使用可用于VisualStudio2008的最新SQLite插件来设计我的表格。conn.Open();SQLiteCommandcmd=newSQLiteCommand("PRAGMAforeign_keys=ON",conn);cmd.ExecuteNonQuery();conn.Close();我需要此更改在重新打开此连接时持续存在。可能吗?

c# - 首先使用实体​​框架代码时将外键设置为空

我使用EntityFrameworkCodeFirst的数据库优先实现作为项目的数据层,但我遇到了问题。我需要能够将外键设置为null以便删除数据库中的关联。我有2个对象。一个称为项目。publicclassProject{publicintProjectId{get;set;}publicEmployeeEmployee{get;set;}}publicclassEmployee{publicintEmployeeId{get;set;}publicstringEmployeeName{get;set;}}这与我在数据库中的内容相匹配:CREATETABLEProject(Proje

c# - 无法启用约束。一行或多行包含违反非空、唯一或外键约束的值

我在informix中进行了外连接并成功执行数据库,但我的代码中出现以下异常:DataTabledt=TeachingLoadDAL.GetCoursesWithEvalState(i,bat);Failedtoenableconstraints.Oneormorerowscontainvaluesviolatingnon-null,unique,orforeign-keyconstraints.我知道这个问题,但我不知道如何解决。我进行外连接的第二个表包含一个复合主键,它在之前的外连接查询中为空。编辑:SELECTUNIQUEa.crs_e,a.crs_e||'/'||a.crstc

sql - 通过外键联合查询

我有以下两个模型:File和Session,一个session可以有很多File对象(一对多)。typeSessionstruct{gorm.ModelNamestring`json:"name,omitempty"`IsCurrentbool`json:"is_current"`Files[]File`gorm:"foreignkey:SessionID"json:"files"`}typeFilestruct{gorm.ModelNamestring`json:"name"`FileTypestring`json:"file_type"`ParentNamestring`json:

mysql - 使用 MySQL 5.6 和 GORM 的递归表中的外键约束失败

我正在尝试在递归表中添加外键并启用onDeleteonUpdateCASCADE模式以在删除父项时删除所有子项(与更新相同)。我正在使用go1.11.4和gorm作为ORM和MySQL5.6packagemainimport("github.com/jinzhu/gorm"_"github.com/jinzhu/gorm/dialects/mysql")typeUserstruct{gorm.ModelNamestringChild*User`gorm:"Foreignkey:Parent"`Parent*uint}funcmain(){db,err:=gorm.Open("mysql

database - 带有外键的模型上的 restful api

TLDR;如何在buffalo框架中为具有外键(或一般的数据库关系)的模型创建RESTapi?我是go的绝对初学者,我正在尝试使用buffalo框架按照其官方网站上给出的以下示例编写RESTFul服务。我能够在没有数据库关系的模型上创建RESTfulapi。但是当我遇到模型有外键的情况时,我被卡住了。我无法在网上找到任何文档或引用资料。我对围棋的概念也很薄弱,你也可以在这些方面教我。型号:(引用:https://gobuffalo.io/en/docs/db/relations#exampletypeComposerstruct{IDuuid.UUID`json:"id"db:"id"

Go-Gorm:设置对象时会自动填充外键吗?

在文档中我们有这个例子:typeUserstruct{gorm.ModelNamestring}//`Profile`belongsto`User`,`UserID`istheforeignkeytypeProfilestruct{gorm.ModelUserIDintUserUserNamestring}如果我执行类似profile.User=&user的操作,是否会自动填充UserID字段?是否建议同时设置?喜欢:profile.User=&userprofile.UserID=&user.ID或者那是毫无意义的?此外,我是否可以只设置UserID字段并完全忽略User字段?

go - 如何使用gorm制作外键

我有这两个模型:用户模型:typeUserstruct{DBBaseEmailstring`gorm:"column:email"json:"email"`Passwordstring`gorm:"column:password"json:"-"`}func(User)TableName()string{return"t_user"}用户信息模型:typeUserInfostruct{UserUser`gorm:"foreignkey:u_id;association_foreignkey:id"`UIDuint`gorm:"column:u_id"json:"-"`FirstName