0

当用户登录 Silverlight 应用程序时,我在 SQL Server 中有一些表用于记录。

我为这些表中的每一个创建了一个实体。一个示例是ApplicationUsageLog,我在其中记录 ApplicationID、Date 和 UserID。这些大多是从 Silverlight 方面拉出来的。

我只想创建一个Login(AppID,UserID)可以插入该表的方法。

那可能吗?

谢谢!

编辑以下由于某种原因不起作用:

    [Invoke]
    public void Login(int AppID,string EmployeeNo)
    {
        var aul = new ApplicationUsageLog{ ApplicationID = AppID, LoginDate = System.DateTime.Now, EmployeeNo = EmployeeNo };
        if ((aul.EntityState != System.Data.EntityState.Detached))
        {
            this.ObjectContext.ObjectStateManager.ChangeObjectState(aul, System.Data.EntityState.Added);
        }
        else
        {
            try
            {
                this.ObjectContext.ApplicationUsageLogs.AddObject(aul);
            }
            catch (System.Exception e) { }
        }
    }

我可以看看,aul一切看起来都很好。但是当我在最后放一个断点时,this.ObjectContext.ApplicationUsageLogs仍然是完全空的......

4

2 回答 2

0

是的,您可以向标有InvokeAttribute属性的域服务类添加方法。该方法将作为客户端上下文类的方法出现。

于 2012-06-18T14:40:17.023 回答
0

如果需要,您可以将自己的自定义方法添加到 DomainService,但当您插入上下文和 SubmitChanges 时,它不会自动调用。您将不得不手动调用它。

如果您想覆盖 Insert 方法的实现,您可以简单地修改 DomainService 中 Insert*EntityName* 方法的内容。

于 2012-06-18T14:40:58.897 回答