1

答えはとてもシンプルなものになりそうな予感がしますが、なぜかメンタルブロックにぶつかっています。私が取り組んでいるプロジェクトでは、エンティティ フレームワークを含み、リポジトリが実装されている MVVM パターンを使用しています。私が持っている特定のエンティティ内のフィールドを表す 3 つのプロパティのみを含む DTO を作成しました。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 です)。デバッグも行い、正しく渡されていることを確認しました。

4

0 に答える 0