我觉得答案会变得非常简单,但我出于某种原因一直在打击精神障碍。我正在开发一个项目,它使用包含实体框架的MVVM模式并实现了一个存储库。我创建了一个DTO,它只包含3个属性,表示我拥有的某个实体中的字段。 DTO名为ParticularGroupDto
,看起来非常简单:
public class ParticularGroupDto : BasicModelBase
{
private string _groupName;
private Guid _groupId;
private Guid? _managerUserId;
public string GroupName
{
get { return _groupName; }
set { SetValueAndNotify(() => GroupName, ref _groupName, value); }
}
[Key]
public Guid GroupId
{
get { return _groupId; }
set { SetValueAndNotify(() => GroupId, ref _groupId, value); }
}
public Guid? ManagerUserId
{
get { return _managerUserId; }
set { SetValueAndNotify(() => ManagerUserId, ref _managerUserId, value); }
}
}
在我的Repository.Group
文件中,我有一个方法:
public ParticularGroupDto GetParticularGroup(Guid id)
{
var manager = DevForce.CreatePrimeEntities();
IEntityQuery<ParticularGroupDto> query = from k in manager.Groups
where k.GroupId == id
select new ParticularGroupDto
{
GroupName = k.GroupName,
GroupId = k.GroupId,
ManagerUserId = k.ManagerUserId
};
IEnumerable<ParticularGroupDto> list = query.Execute();
ParticularGroupDto firstParticularGroupDto = query.FirstOrDefault();
return firstParticularGroupDto;
}
我想简单地执行我已经获得的此查询但是当它点击query.Execute();
时,我得到Exception has been thrown by the target of an invocation.
关于这个问题的任何想法?很高兴看一看!
的更新 的 我还需要提一下,传递“id”参数的方法如下:
ParticularGroup = Repository.GetParticularGroup(CurrentEntity.GroupId);
它只是简单地抓取一个类似于已加载的CurrentEntity的GroupId的guid(在这种情况下,它是Group实体中的GroupId)。我也通过调试来验证它是否正确传递。