/// <summary>
/// 专辑文档添加
/// 被引用:AdminController.LibIndex:Post
/// </summary>
/// <param name="guidArr">文章Guid数组</param>
/// <param name="newAlbId">专辑ID</param>
public static void DocAddToAlb(string[] guidArr, int newAlbId)
{
using (var db = new WEBVODEntities())
{
for (int i = 0; i < guidArr.Length; i++)
{
LibAlbumDoc albumDoc = new LibAlbumDoc();
albumDoc.LibGuid = guidArr[i];
albumDoc.AlbumId = newAlbId;
albumDoc.PubDate = DateTime.Now;
albumDoc.LoginName = "admin"; //!!!用户名,以后要修改的。
db.LibAlbumDoc.AddObject(albumDoc);
}
db.SaveChanges(); //在这里就错误了。
} }错误信息:INSERT 语句与 FOREIGN KEY 约束"FK_LibAlbumDoc_Library"冲突。该冲突发生于数据库"WEBVOD",表"dbo.Library", column 'Guid'。
语句已终止。说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: INSERT 语句与 FOREIGN KEY 约束"FK_LibAlbumDoc_Library"冲突。该冲突发生于数据库"WEBVOD",表"dbo.Library", column 'Guid'。
语句已终止。源错误:
行 407: db.LibAlbumDoc.AddObject(albumDoc);
行 408: }
行 409: db.SaveChanges();
行 410: }
行 411:源文件: F:\win2008iis\BYVOD\Models\LibraryBLL.cs 行: 409
/// 专辑文档添加
/// 被引用:AdminController.LibIndex:Post
/// </summary>
/// <param name="guidArr">文章Guid数组</param>
/// <param name="newAlbId">专辑ID</param>
public static void DocAddToAlb(string[] guidArr, int newAlbId)
{
using (var db = new WEBVODEntities())
{
for (int i = 0; i < guidArr.Length; i++)
{
LibAlbumDoc albumDoc = new LibAlbumDoc();
albumDoc.LibGuid = guidArr[i];
albumDoc.AlbumId = newAlbId;
albumDoc.PubDate = DateTime.Now;
albumDoc.LoginName = "admin"; //!!!用户名,以后要修改的。
db.LibAlbumDoc.AddObject(albumDoc);
}
db.SaveChanges(); //在这里就错误了。
} }错误信息:INSERT 语句与 FOREIGN KEY 约束"FK_LibAlbumDoc_Library"冲突。该冲突发生于数据库"WEBVOD",表"dbo.Library", column 'Guid'。
语句已终止。说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: INSERT 语句与 FOREIGN KEY 约束"FK_LibAlbumDoc_Library"冲突。该冲突发生于数据库"WEBVOD",表"dbo.Library", column 'Guid'。
语句已终止。源错误:
行 407: db.LibAlbumDoc.AddObject(albumDoc);
行 408: }
行 409: db.SaveChanges();
行 410: }
行 411:源文件: F:\win2008iis\BYVOD\Models\LibraryBLL.cs 行: 409
解决方案 »
- 如何根据26个英文字母来检索汉字首字母
- extjs.Ajax.request与asp.net(C#)交互
- 求助:在网站的跳转页面 如何获取第一个页面中TexeBox控件里面输入的值
- 大伙帮偶看看这个问题, 急!!!
- 关于CSDN导航树的问题?
- 在线急等css中如何写入onmouseover和onmouseout事件???谢谢
- 两个页面之间的参数传递及同步刷新问题
- 为什么在窗体的FORM中加上RUNAT="server" 窗体的的Javascript就执行出错呢?请高手帮忙啊。
- goody9807进,呵呵
- 配置web.config实现网站登陆的问题。
- asp.net导出Excel时的问题
- 习惯了写服务器事件,客户端控件button点提交如何取数据呢?
以上仅仅是一种可能,具体要看你的程序是怎么写的了
exec sp_executesql N'insert [dbo].[LibAlbumDoc]([AlbumId], [LibGuid], [LoginName], [PubDate], [Title], [CategoryID], [Approved], [CategoryCN], [VirDir])
values (@0, @1, @2, @3, null, null, null, null, null)
select [Id]
from [dbo].[LibAlbumDoc]
where @@ROWCOUNT > 0 and [AlbumId] = @0 and [LibGuid] = @1',N'@0 int,@1 nvarchar(100),@2 nvarchar(50),@3 datetime2(7)',@0=12,@1=N'''0c11ce1b-6bf1-40e7-955f-f4387388ecea''',@2=N'admin',@3='2013-02-27 13:07:09.6471548'
主键表 外键表 都是用的 nvarchar(100)
不是手写的sql,是跟踪器自动生成的
我没有写sql语句,那是sql server2008 profiler 里边跟踪出来。
LZ去看看EF的CodeFirst吧
用CodeFirst生成的数据库不会出这种低级问题