这是代码首先,我将描述我想在其下面找到的内容:
视图模型
private ServiceReference1.tblUser user;
public ServiceReference1.tblUser User
{
get
{
return user;
}
set
{
user = value;
OnPropertyChanged("User");
}
}
public ICommand _addUser;
public ICommand addUser
{
get
{
if (_addUser == null)
{
_addUser = new DelegateCommand(delegate()
{
try
{
Service1Client wcf = new Service1Client();
wcf.AddUser(User);
Users.Add(User);
wcf.Close();
}
catch
{
Trace.WriteLine("working...", "MyApp");
}
});
}
return _addUser;
}
}
WCF
bool IService1.AddUser(tblUser user)
{
try
{
context = new HotelBaseEntities();
context.AddTotblUsers(user);
context.SaveChanges();
return true;
}
catch (Exception e)
{
e.Message.ToString();
return false;
}
}
说明 在WCF服务上我有ADO.Net EntityDataModel(EF 4),它包含表“tblUsers”。 “tblUsers”具有名为“UserID”的主键列,它是自动增量。 WCF上的方法用于向“tblUsers”添加新记录。我这样做是通过将属性“User”发送到WCF。此字段(“UserID”)为0.是否可以在添加新记录时以某种方式立即获取autoincrement列的下一个值?我的意思是这个0值可以通过下一个自动增量列的vaule以某种方式改变吗?我的数据库是在SQL Server management studio 2005中创建的。
修改
我有用于向数据库添加新用户的表单。它具有绑定到属性User的文本框。此文本框用于为新用户插入名称,用户名和密码。我在“tblUsers”中有这个列。因此,当我使用此值填充文本框并单击按钮时,属性User将获取这些记录。但UserID为0因为我没有插入文本框。