我在SQL Server中有一些表,用于在用户登录Silverlight应用程序时进行记录。
我为每个表创建了一个实体。一个示例是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
仍然是完全空的......
答案 0 :(得分:0)
是的,您可以add a method加入标有InvokeAttribute属性的域服务类。该方法将作为客户端上下文类的方法出现。
答案 1 :(得分:0)
如果需要,可以将自己的自定义方法添加到DomainService,但在插入上下文和SubmitChanges时不会自动调用。您必须手动调用它。
如果要覆盖Insert方法的实现,只需修改DomainService中Insert * EntityName *方法的内容即可。