我的代码如下:
public Vehicle NewOrUpdate(Vehicle vehicle)
{
try
{
RedisManager.ExecAs<Vehicle>(r =>
{
r.Store(vehicle); //save new or update
});
}
catch (Exception ex)
{
ErrorMessage = ex.ToString();
HasError = true;
throw;
}
return vehicle;
}
如何为要添加的项目设置URN?我在对象上看到了CreateUrn扩展名,但我没有看到明确设置它的方法。默认情况下,它会创建&#34; urn:vehicle:Id&#34;的URN。我喜欢拥有类似于&#34; urn:vehicles- {MySpecialId}的URN:Id&#34;有可能控制这个吗?
或者另一种方式来问这个...... 我可以为我存储的对象组成自己的URN吗?
Vehicle v = new Vehicle();
v.CreateUrn = "urn:mine";
RedisManager.ExecAs<Vehicle>(r =>
{
r.Store(v);
});
答案 0 :(得分:1)
如果你知道在哪里看,它看起来实际上并不难。 我只是用我想要的任何骨架创建一个列表:
string urn = String.Format("urn:dealer:{0}:vehicles", dealer.DealerId);
var vehicleclient = client.As<Vehicle>();
var vehicleList = vehicleclient.Lists[urn];
foreach (var vehicle in dealer.Vehicles)
{
vehicleList.Add(vehicle);
}
将项目添加到自定义列表,然后使用以下命令调用项目:
List<Vehicle> returnValue = new List<Vehicle>();
string urn = String.Format("urn:dealer:{0}:vehicles",DealerId);
using (var client = new RedisClient("192.168.42.128", 6379))
{
returnValue = client.As<Vehicle>().Lists[urn].ToList();
}