C# 使用SQLCeResultSet更新/插入表

C# 使用SQLCeResultSet更新/插入表,c#,windows-mobile,compact-framework,sql-server-ce,linq-to-dataset,C#,Windows Mobile,Compact Framework,Sql Server Ce,Linq To Dataset,我有一个SQL Compact Edition数据库,定期更新(通过web服务) 我向数据库写入数据的时间太长了。我目前正在使用LINQtoDataSet(如中所示)进行此操作。如果我使用SQLCeResultSet,它将工作得更快 所以,考虑到我有一张这样的桌子: tblClient +- CLIENT_ID {Unique identifier} (Primary Key) +- CLIENT_NAME {varchar (100)} +- CLIENT_A

我有一个SQL Compact Edition数据库,定期更新(通过web服务)

我向数据库写入数据的时间太长了。我目前正在使用LINQtoDataSet(如中所示)进行此操作。如果我使用SQLCeResultSet,它将工作得更快

所以,考虑到我有一张这样的桌子:

tblClient +- CLIENT_ID {Unique identifier} (Primary Key) +- CLIENT_NAME {varchar (100)} +- CLIENT_ACTIVE {bit}
class Client
{
   public Guid ClientID { get; set; }
   public String ClientName { get; set; }
   public bool Active { get; set; }
}
如何将100个客户端对象放入数据库

更新现有行并插入数据库中尚未存在的行(由主键确定)

任何示例代码都会很好。我有一个
SqlCeConnection
,但没有其他功能


谢谢你的帮助

它看起来像这样:

tblClient +- CLIENT_ID {Unique identifier} (Primary Key) +- CLIENT_NAME {varchar (100)} +- CLIENT_ACTIVE {bit}
class Client
{
   public Guid ClientID { get; set; }
   public String ClientName { get; set; }
   public bool Active { get; set; }
}
为插入或更新而编辑)


我注意到没有要求更新。如果行已存在,Insert是否进行更新?ResultTopions应设置为可更新。我的理解是Update()只适用于现有记录,而不适用于插入。对不起,这只是用于插入。如果要进行替换,则必须修改逻辑。我会在PK字段上进行搜索,然后进行读取,如果读取返回true,则修改记录并更新,否则创建并插入。@ctacke-我必须先加载所有记录才能这样做吗?这会不会又让事情慢下来?插入是否会给我一些失败指示,因为主键已经存在?也许我可以用它,而不是为了看我的记录是否在那里而阅读所有的记录。我很困惑。加载所有哪些记录?正如我所说的,只需在PK上搜索,看看它是否存在,如果不存在,则插入。