Associations bltoolkit与存储过程执行的关联

Associations bltoolkit与存储过程执行的关联,associations,bltoolkit,proc,Associations,Bltoolkit,Proc,我有两个实体: [TableName("is_userrole")] public class UserRole { [MapField("id"), PrimaryKey, Identity, public Guid id; [NotNull] public string Name; } [TableName("is_users")] public class User { [MapFiel

我有两个实体:

[TableName("is_userrole")]



public class UserRole
  {
      [MapField("id"), PrimaryKey, Identity,
      public Guid id;
      [NotNull]
      public string Name;       
  }    
[TableName("is_users")]
  public class User
  {
      [MapField("id"), PrimaryKey, Identity,
NonUpdatable]
      public Guid Id;
      [NotNull]
      public string Name;
      [NotNull]
      public string Login;
      [NotNull]
      public string Password;

      public Guid UserRole_Id;    
      [Association(ThisKey = "UserRole_Id", OtherKey = "Id",
CanBeNull = false)]
      public UserRole UserRole;
  }    
sql server上的存储过程,从查询中获取数据

[从is_用户u中选择u.,r.] 内部联接是\u userrole r on u.userrole\u id=r.id]

如果我像这样使用linq查询

var query=来自数据库中的u.User 选择新的 { u、 身份证, u、 登录, u、 密码, u、 UserRole\u Id, u、 用户角色 };

关联填充,但如果执行过程,则仅填充父对象(即用户)。
如何在bltoolkit.net中与存储过程建立关联? 或者只能手动实现


谢谢。

好的,所以我没有这方面的经验,但我很快查看了单元测试,它似乎可以帮助您


单元测试在这里->单元测试\CS\Mapping\resultsetset.CS

associationAttribute
仅用于Linq表达式


请注意:BLT不执行任何“隐藏”操作,例如。如果您将linq代码更改为:
db.User.ToList()
,您将看到UserProperty未填充。在您的示例中,填充完成是因为您在select子句中说过要这样做,
关联
仅用于在SQL中构建适当的“内部联接”。

我有SP-SelectByLogin(string)和公共抽象类UserAccessor:gosDBAccessor{public abstract User SelectByLogin(string@login)}此SP具有复杂的查询,其中包含内部联接。Execution-UserAccessor ua=DataAccessor.CreateInstance();用户=ua。选择ByLogin(登录);此用户未填充UserRole属性。地图集包含在代码中的位置在哪里?我真的不明白你的问题,你看过单元测试了吗?