标签: ravendb

Ravendb - 多个where子句?

是否可以在创建查询后添加多个where子句.例如,以下查询正确返回1结果:

var q1 = session.Query<Template>()
    .Where(x => x.Tags.Any(y => y == "one"))
    .Where(x => x.Tags.Any(y => y == " two"));
var r1 = q1.ToList();
Run Code Online (Sandbox Code Playgroud)

但是这个表现就好像没有where条件并且返回30个结果:

var q2 = session.Query<Template>();
q2.Where(x => x.Tags.Any(y => y == "one"));
q2.Where(x => x.Tags.Any(y => y == " two"));
var r2 = q2.ToList();
Run Code Online (Sandbox Code Playgroud)

ravendb是否支持第二个例子?为什么两个查询不等同?

ravendb

0
推荐指数
1
解决办法
669
查看次数

将1000000个文档插入RavenDB

我想在RavenDB中插入1000000个文档.

class Program
{
        private static string serverName;
        private static string databaseName;

        private static DocumentStore documentstore;
        private static IDocumentSession _session;

        static void Main(string[] args)
        {

            Console.WriteLine("Start...");

            serverName = ConfigurationManager.AppSettings["ServerName"];
            databaseName = ConfigurationManager.AppSettings["Database"];

            documentstore = new DocumentStore { Url = serverName };
            documentstore.Initialize();

            Console.WriteLine("Initial Databse...");

            _session = documentstore.OpenSession(databaseName);

            for (int i = 0; i < 1000000; i++)
            {
                var person = new Person()    
                {
                    Fname = "Meysam" + i,
                    Lname = " Savameri" + i,
                    Bdate = DateTime.Now,
                    Salary = 6001 …
Run Code Online (Sandbox Code Playgroud)

ravendb

0
推荐指数
1
解决办法
922
查看次数

RavenDB 2.x异步中的RegisterIdConvention

我正在尝试利用RavenDB的DocumentConvention API在我的域对象上自动设置增量ID.

我在IDocumentStore上使用这行代码完美地工作了:

DocumentStore.Conventions.RegisterIdConvention<User>
    ((dbname, commands, user) => "users/" + commands.NextIdentityFor("users"));
Run Code Online (Sandbox Code Playgroud)

每当我存储没有已设置ID的新User对象时,这将创建具有"users/1","users/2"等的用户对象的顺序ID .

但是,我想为Async文档会话执行此操作,但是在调用RegisterAsyncIdConvention()时无法找到有关如何从会话中获取"Next Identity"的任何文档...

docStore.Conventions.RegisterAsyncIdConvention<User>
    ((dbname, commands, user) => "users/" + commands.NextIdentityFor("users"));
Run Code Online (Sandbox Code Playgroud)

......不编译,因为NextIdentityFor不可用的IAsyncDatabaseCommands接口.

任何人都可以给我任何提示吗?还有人试过这个吗?

谢谢.

c# asynchronous ravendb

0
推荐指数
1
解决办法
366
查看次数

使用ravendb中的事务存储文档后立即读取文档

这里我使用事务范围存储transactionSummary类型的文档,如下所示

public class TransactionSummary
{
[JsonIgnore]
        public Guid? Etag { get; set; }
        public String Id { get; set; }
        public String TransactId { get; set; }
        public OpenOrClosed BalanceType { get; set; }
        public TransactStatus Status { get; set; }
        public String PayeeAccountNo { get; set; }
        public Decimal AmountPaid { get; set; }
}



using (var trans = new TransactionScope())
{
  using (IDocumentSession sess = GetConnection())
   {
     sess.Store(fldtrans);
     sess.SaveChanges();
   }
    trans.complete();
}
Run Code Online (Sandbox Code Playgroud)

在立即存储之后我需要检索它,所以我按照以下方式进行操作

   using (IDocumentSession sess = GetConnection()) …
Run Code Online (Sandbox Code Playgroud)

c# transactions ravendb

0
推荐指数
1
解决办法
406
查看次数

RavenDB索引查询:OfType <T>().不支持LastOrDefault()

我正在使用RavenDB 2.5.2879,我发现了一个问题.那是一个错误吗?

当我使用FirstOrDefault()时,查询效果很好.

session.Query<QueryModel>("App/Entities").Where(x => x.Tag == "Clients").OfType<Client>().FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

当我使用LastOrDefault()时,我得到一个异常"无法理解表达式:.Where(x =>(x.Tag =="Clients")).OfType().LastOrDefault()"

session.Query<QueryModel>("App/Entities").Where(x => x.Tag == "Clients").OfType<Client>().LastOrDefault();
Run Code Online (Sandbox Code Playgroud)

indexing ravendb

0
推荐指数
1
解决办法
189
查看次数

在 Ravendb 中跟踪每个会话的请求计数

有没有办法获取 RavenDB 中每个会话的请求计数,以便将其用于优化?比如减少拨打的电话等。我知道 RavenDB 将其限制为每个会话 30 个。我想知道的是在任何给定时间发出的请求的数量。(在代码中,在运行时)。

ravendb

0
推荐指数
1
解决办法
209
查看次数

检查Raven Db是否存在?

如果我的Raven Db(http://ravendb.net/)称为"测试",我如何以编程方式检查?

最好的祝福

c# ravendb

0
推荐指数
1
解决办法
886
查看次数

该字段未编入索引,无法查询未在Raven.Database.Indexing中编制索引的字段

我是RavenDB和HangFire的新手,我正在创建一个后台任务但是当我查询ravendb文件时出现索引错误,如下所示:

    public static void UpdateDoNotDisturb()
    {
        IList<HotelRoom> rooms = new List<HotelRoom>();
        Hotel project;
        IQueryable<HotelRoom> queryableObj;
        //Update Rooms with DND status and DndUntil greater than now.
        using (var session = MvcApplication.DocumentStore.OpenSession())
        {
            queryableObj = session.Query<HotelRoom, HotelRoom_Search>().Where(x => x.Status == "DND" && x.DndUntilUtc < DateTime.Now).OfType<HotelRoom>();
            //queryableObj = session.Query<HotelRoom, HotelRoom_Search>().Where(x => x.Status == "DND").OfType<HotelRoom>();
            using (var enumerator = session.Advanced.Stream(queryableObj))
            {
                while (enumerator.MoveNext())
                {
                    var room = enumerator.Current.Document;
                    rooms.Add(room);
                }
            }
        }

    }
Run Code Online (Sandbox Code Playgroud)

在文件上:

{
  "HotelId": "hotels/1474",
  "RoomNumber": "407",
  "Floor": "4th Floor",
  "Status": "DND", …
Run Code Online (Sandbox Code Playgroud)

c# ravendb hangfire

0
推荐指数
1
解决办法
469
查看次数

标签 统计

ravendb ×8

c# ×4

asynchronous ×1

hangfire ×1

indexing ×1

transactions ×1