在 RIA 域服务中,我添加了一些实用功能。例如我们有...
public virtual CmsDealer GetCmsDealerById(string id)
{
return this.Context.CmsDealerSet
.Include("CmsItemState")
.FirstOrDefault(p => p.Id == id);
}
现在,如果 id 不存在,该函数有它自己的问题,但现在让我们先表一下。重要的是函数编译和执行。
然而类似的功能......
public virtual void DeleteCmsDealerById(string id)
{
var dealer = this.Context.CmsDealerSet
.FirstOrDefault(d => d.Id == id);
if (dealer != null)
{
DeleteCmsDealer(dealer);
}
}
抛出编译时错误。
*Parameter 'id' of domain method 'DeleteCmsDealerById' must be an entity type exposed by the DomainService, either directly via a query operation, or indirectly via an included association.*
问题是,我可以理解(字符串 id)参数对于 EF 是不可接受的,但为什么在一种情况下可以,而在另一种情况下不行?
欢迎输入:)