【发布时间】:2013-06-22 11:27:20
【问题描述】:
我在将数据从移动应用程序插入 Azure 数据库时遇到问题。
我在数据库中的表是这样定义的:
这行会出错:
await usersTable.InsertAsync(
new User
{
FirstName = this.FirstNameTextBox.Text,
LastName = this.LastNameTextBox.Text,
DepartmentID = 0,
LiveID = App.MobileService.CurrentUser.UserId,
Level = 0,
Pluses = 0,
Minuses = 0,
});
错误信息:
“System.ArgumentException”类型的异常发生在 mscorlib.dll 中,但未在用户代码中处理 附加信息:如果 id 成员已设置,则无法插入。 如果有这个异常的处理程序,程序可以安全地继续。
这里是一个用户类的定义:
class User
{
[JsonProperty(PropertyName = "ID")]
public string LiveID { get; set; }
[JsonProperty(PropertyName = "FirstName")]
public string FirstName { get; set; }
[JsonProperty(PropertyName = "LastName")]
public string LastName { get; set; }
[JsonProperty(PropertyName = "DepartmentID")]
public int DepartmentID { get; set; }
[JsonProperty(PropertyName = "Level")]
public int Level { get; set; }
[JsonProperty(PropertyName = "Pluses")]
public int Pluses { get; set; }
[JsonProperty(PropertyName = "Minuses")]
public int Minuses { get; set; }
}
【问题讨论】:
-
我没有意识到 id 列可以是除 int 或 bigint 之外的任何内容,但请查看此线程:social.msdn.microsoft.com/Forums/windowsazure/en-US/… 也许将 JsonProperty PropertyName 属性更改为小写“id”(并重新创建表)会有帮助吗?
标签: c# mobile azure service azure-sql-database