Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有serviceStack Redis的透明Redis Dal_Redis_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">servicestack - Fatal编程技术网 servicestack,Redis,servicestack" /> servicestack,Redis,servicestack" />

带有serviceStack Redis的透明Redis Dal

带有serviceStack Redis的透明Redis Dal,redis,servicestack,Redis,servicestack,是的,我还有一个奇怪的问题:) 我尝试实现透明的Redis数据访问层 我将急切地加载N*1和1*1关系,而惰性地加载N*N和1*N关系 public class User { public long CityId {get;set;} [EagerLoading] [IgnoreDataMember] public City {get;set;} } public class City { public ICollection<long> UserI

是的,我还有一个奇怪的问题:)

我尝试实现透明的Redis数据访问层

我将急切地加载N*1和1*1关系,而惰性地加载N*N和1*N关系

public class User
{
   public long CityId {get;set;} 

   [EagerLoading]
   [IgnoreDataMember]
   public City {get;set;}
}

public class City
{
  public ICollection<long> UserIds {get;set;}

  [LazyLoading]
  [IgnoreDataMember] 
  public ICollection<User> Users{get;set;}
}

有什么想法或替代方法吗?

对不起,来晚了。我想知道为什么您坚持使用属性而不是本质上未序列化/反序列化的方法:

公共类用户
{
公共长Id{get;set;}
}
公营城市
{
公共IEnumerable用户标识{get;set;}
公共IEnumerable GetUsers()
{
使用(var userData=redis.As())
返回userData.GetByIds(UserIds);
}
}
这样,当您确实需要用户时,可以通过调用
GetUsers()
延迟加载用户:

var city=redis.As().GetById(id);
...
var users=city.GetUsers();
public class GenericRedisRepository
{
     public object Get(string objectUrn)
     {
        using (var r = RedisManager.GetReadOnlyClient())
        {
            var pocoObject=r.GetObject(objectUrn); // I COULD NOT FIND THIS METHOD
            foreach (var property in ReflectionHelper.GetEagerLoadingProperties(pocoObject))
            {
                // Fixup relations and load all EagerLoading properties recursively
            } 
        }
     }
}