使用LINQ将记录添加到SQL Azure表,其中ID为“identity(auto_increment)”

时间:2013-04-30 18:23:51

标签: c# wcf linq azure

我正在尝试在Service1.svc.cs中传递一个LINQ查询来添加一个新的Asset,它是我的SQL Azure数据库中的一个实体。 AstID也是PK,在SQL Azure中设置为标识

我的IService1.cs中有OperationContract如下

[OperationContract]
void AddAsset(string AstName, string AstCondition);

以及我的Service1.cs中的以下空格

 public void AddAsset(string AstName, string AstCondition)
        {
            DataClasses1DataContext context = new DataClasses1DataContext();
            Asset AssetObj = new Asset();
            AssetObj.AstName = AstName;
            AssetObj.AstCondition = AstCondition;
            context.Assets.InsertOnSubmit(AssetObj);
            context.SubmitChanges();        
        }

在我的客户端应用程序中,我正在使用WCF服务,我有以下内容:

public void AddAssetQuery(string AstName, string AstCondition)
        {
            Service1Client proxy = new Service1Client();
            proxy.AddAssetCompleted += (proxy_AddAssetCompleted);
            proxy.AddAssetAsync(AstName, AstCondition);

        }

private void btnAdd_Click(object sender, RoutedEventArgs e)
        {

            AddAssetQuery("Dell PC","Mint");

        }

我还有一个已完成的空白,其中我有一个MessageBox通知我该操作已完成。即使在我检查我的SQL Azure数据库时,也没有数据被输入。任何想法,为什么?

1 个答案:

答案 0 :(得分:1)

尝试:

    public void AddAsset(string AstName, string AstCondition)
    {
        DataClasses1DataContext context = new DataClasses1DataContext();
        Asset AssetObj = new Asset();
        AssetObj.AstName = AstName;
        AssetObj.AstCondition = AstCondition;
        context.Assets.Add(AssetObj);
        context.SaveChanges();        
    }