我在表中使用LINQ代码成功执行的LINQ代码在表中面临问题。
有人说您的桌子必须具有提交更改的主要键,但我的表有主要键。
有人说使用Integrated Security = tue to to to to to to to to to to t ofection intection intection intection sericer
这是我的连接字符串
<add name="POSConnectionString" connectionString="Persist Security Info=False; Data Source=|DataDirectory|App_DataPOS.sdf; mode=Read Write;"
providerName="Microsoft.SqlServerCe.Client.4.0" />
代码在表中插入数据
public bool InsertItem(Item item)
{
try
{
using (SqlCeConnection conn = new SqlCeConnection(connectionString))
{
using (POSContext db = new POSContext(conn))
{
db.Items.InsertOnSubmit(item);
db.SubmitChanges();
return true;
}
}
}
catch (Exception ex)
{
return false;
}
}
这是我的表脚本
CREATE TABLE [Item] (
[ItemID] int IDENTITY (1,1) NOT NULL
, [ItemName] nvarchar(100) NOT NULL
, [ItemCode] nvarchar(100) NOT NULL
, [Weight] int NOT NULL
, [IsActive] bit NOT NULL
, [Stock] int NULL
, [UnitID] int NULL
);
GO
ALTER TABLE [Item] ADD CONSTRAINT [PK_Item] PRIMARY KEY ([ItemID]);
GO
我正在Windows表单应用程序开发中工作数据库SQL Server紧凑数据库4.0Visual Studio 2012
我通过将数据库属性更改为不复制而获得了解决方案,并且它可以在bin/debug中制作数据库的副本,并在此处保存更改
您的表中是否有自动插入(身份)列。为了使用LINQ插入数据,您必须将身份列作为表中的主要键。
我也有同样的问题。因此,当您构建项目时,Visual Studio覆盖数据库,并具有Dafault值。尝试从项目目录中的" bin/debug"启动它。希望它会有所帮助。