Linq to SQL 插入数据时的一个问题
所要操作的表结构定义如下:
```csharp
RSSFeedRight feedRight = new RSSFeedRight();
feedRight.UserId = userId;
feedRight.FeedId = feedId;
feedRight.RightValue = 0;
_Db.RSSFeedRights.InsertOnSubmit(feedRight);
_Db.SubmitChanges();
```
在深入研究后,我发现RSSFeedRight实体类中除了FeedId和UserId这两个字段外,还有两个指向UserInfo和RSSFeed表的字段。这使我逐渐意识到问题可能出在外键设置上。
通过搜索引擎,我找到了一个描述相似问题的帖子。其中提到,映射信息中的外键依赖方向设置错误。也就是说,它错误地认为表1中的主键(自增字段)是表2中的主键的外键。实际上,应该是相反的方向。
为了解决这个问题,我对表结构进行了调整。新的表结构定义如下:
```sql
create table RSSFeedRight (
Id int identity (1, 1) NOT NULL Primary Key,
FeedId int Foreign Key (FeedId) References RSSFeed(FeedId) NOT NULL,
UserId int Foreign Key (UserId) References UserInfo(UserId) NOT NULL,
RightValue bigint NOT NULL
)
```
在这个修改中,我增加了一个自动增长的主键字段Id,并将FeedId和UserId设置为外键,参照相应的表。这样修改后,问题得到了解决。
这次经历让我深刻体会到,技术领域的更新速度非常快,不经常学习和实践就容易遇到新的问题和挑战。作为一名“老兵”,我深知保持技术更新和不断学习的重要性。只有这样,才能在这个快速变化的时代中保持竞争力。
编程语言
- Linq to SQL 插入数据时的一个问题
- 用PHP代码给图片加水印
- yii通过小物件生成view的方法
- Vue.js双向绑定实现原理详解
- thinkPHP简单遍历数组方法分析
- 完美解决input[type=number]无法显示非数字字符的问
- php简单生成随机颜色的方法
- C#连接Excel2003和Excel2007以上版本做数据库的连接字
- JS实现图片产生波纹一样flash效果的方法
- 浏览器执行history.go(-1) FCKeditor编辑框内显示html源
- 关于PHP语言构造器介绍
- PHP实现查询两个数组中不同元素的方法
- PHP QRCODE生成彩色二维码的方法
- 基于Datatables跳转到指定页的简单实例
- jquery将标签元素的高设为屏幕的百分比
- 有关JavaScript中call()和apply() 的一些理解