コード例 #1
0
        public void UpdateIfTest()
        {
            var table = Session.GetTable <NerdMovie>();

            table.CreateIfNotExists();
            var movie = new NerdMovie()
            {
                Movie     = "Dead Poets Society",
                Year      = 1989,
                MainActor = "Robin Williams",
                Director  = "Peter Weir",
                Maker     = "Touchstone"
            };

            table
            .Insert(movie)
            .SetConsistencyLevel(ConsistencyLevel.Quorum)
            .Execute();

            var retrievedMovie = table
                                 .FirstOrDefault(m => m.Movie == "Dead Poets Society" && m.Maker == "Touchstone")
                                 .Execute();

            Assert.NotNull(retrievedMovie);
            Assert.AreEqual(1989, retrievedMovie.Year);
            Assert.AreEqual("Robin Williams", retrievedMovie.MainActor);

            table
            .Where(m => m.Movie == "Dead Poets Society" && m.Maker == "Touchstone" && m.Director == "Peter Weir")
            .Select(m => new NerdMovie {
                MainActor = "Robin McLaurin Williams"
            })
            .UpdateIf(m => m.Year == 1989)
            .Execute();

            retrievedMovie = table
                             .FirstOrDefault(m => m.Movie == "Dead Poets Society" && m.Maker == "Touchstone")
                             .Execute();
            Assert.NotNull(retrievedMovie);
            Assert.AreEqual(1989, retrievedMovie.Year);
            Assert.AreEqual("Robin McLaurin Williams", retrievedMovie.MainActor);

            //Should not update as the if clause is not satisfied
            table
            .Where(m => m.Movie == "Dead Poets Society" && m.Maker == "Touchstone" && m.Director == "Peter Weir")
            .Select(m => new NerdMovie {
                MainActor = "WHOEVER"
            })
            .UpdateIf(m => m.Year == 1500)
            .Execute();
            retrievedMovie = table
                             .FirstOrDefault(m => m.Movie == "Dead Poets Society" && m.Maker == "Touchstone")
                             .Execute();
            Assert.NotNull(retrievedMovie);
            Assert.AreEqual("Robin McLaurin Williams", retrievedMovie.MainActor);
        }
コード例 #2
0
        public void InsertAndSelectExecuteAsync()
        {
            var table = Session.GetTable <NerdMovie>();

            table.CreateIfNotExists();
            var movie = new NerdMovie
            {
                Movie     = "Life of Brian",
                Director  = "Terry Jones",
                MainActor = "Terry Gilliam",
                Maker     = "HandMade Films",
                Year      = 1979
            };
            var taskInsert = table.Insert(movie).ExecuteAsync();
            var rs         = taskInsert.Result;

            Assert.AreEqual(0, rs.Count());

            var taskSelect  = table.Where(m => m.Director == "Terry Jones").ExecuteAsync();
            var movies      = taskSelect.Result.ToArray();
            var count       = movies.Length;
            var resultMovie = movies.First();

            Assert.AreEqual(movie.Maker, resultMovie.Maker);
            Assert.AreEqual(movie.Director, resultMovie.Director);
            Assert.AreEqual(movie.MainActor, resultMovie.MainActor);
            Assert.AreEqual(movie.Year, resultMovie.Year);

            //Fetch from Cassandra the count
            var countQueryResult = table
                                   .Where(m => m.Director == resultMovie.Director && m.Movie == resultMovie.Movie && m.Maker == resultMovie.Maker)
                                   .Count()
                                   .ExecuteAsync()
                                   .Result;

            var countQuerySync = table
                                 .Where(m => m.Director == resultMovie.Director && m.Movie == resultMovie.Movie && m.Maker == resultMovie.Maker)
                                 .Count()
                                 .Execute();

            Assert.AreEqual(count, countQueryResult);
            Assert.AreEqual(count, countQuerySync);

            var first = table.
                        First(m => m.Director == movie.Director).Execute();

            Assert.AreEqual(movie.Maker, first.Maker);
            Assert.AreEqual(movie.Director, first.Director);
            Assert.AreEqual(movie.MainActor, first.MainActor);
            Assert.AreEqual(movie.Year, first.Year);
        }
コード例 #3
0
        public void DoTest()
        {
            var table = Session.GetTable<NerdMovie>();
            table.CreateIfNotExists();

            {
                var batch = Session.CreateBatch();

                var movies = new List<NerdMovie>()
                    {
                        new NerdMovie(){ Movie = "Serenity", Maker="20CentFox",  Director = "Joss Whedon", MainActor = "Nathan Fillion", Year = 2005 , exampleSet = new List<string>(){"x","y"}},
                        new NerdMovie(){ Movie = "Pulp Fiction", Maker = "Pixar", Director = "Quentin Tarantino", MainActor = "John Travolta", Year = 1994, exampleSet = new List<string>(){"1","2","3"}},
                    };

                batch.Append(from m in movies select table.Insert(m));

                batch.Execute();
            }

            var testmovie = new NerdMovie { Year = 2005, Director = "Quentin Tarantino", Movie = "Pulp Fiction", Maker = "Pixar" };
            table.Where(m => m.Movie == testmovie.Movie && m.Maker == testmovie.Maker && m.Director == testmovie.Director).Select(m => new NerdMovie { Year = testmovie.Year }).Update().Execute();

            var anonMovie = new { Director = "Quentin Tarantino", Year = 2005 };
            table.Where(m => m.Movie == "Pulp Fiction" && m.Maker == "Pixar" && m.Director == anonMovie.Director).Select(m => new NerdMovie { Year = anonMovie.Year, MainActor = "George Clooney" }).Update().Execute();

            var all2 = table.Where((m) => CqlToken.Create(m.Movie, m.Maker) > CqlToken.Create("Pulp Fiction", "Pixar")).Execute().ToList();
            var all = (from m in table where CqlToken.Create(m.Movie, m.Maker) > CqlToken.Create("Pulp Fiction", "Pixar") select m).Execute().ToList();

            var nmT = (from m in table where m.Director == "Quentin Tarantino" select new ExtMovie { TheDirector = m.MainActor, Size = all.Count, TheMaker = m.Director }).Execute().ToList();
            var nm1 = (from m in table where m.Director == "Quentin Tarantino" select new { MA = m.MainActor, Z = 10, Y = m.Year }).Execute().ToList();

            var nmX = (from m in table where m.Director == "Quentin Tarantino" select new { m.MainActor, Z = 10, m.Year }).Execute().ToList();

            (from m in table where m.Movie.Equals("Pulp Fiction") && m.Maker.Equals("Pixar") && m.Director == "Quentin Tarantino" select new NerdMovie { Year = 1994 }).Update().Execute();

            table.Where((m) => m.Movie == "Pulp Fiction" && m.Maker == "Pixar" && m.Director == "Quentin Tarantino").Select((m) => new NerdMovie { Year = 1994 }).Update().Execute();

            var nm2 = table.Where((m) => m.Director == "Quentin Tarantino").Select((m) => new { MA = m.MainActor, Y = m.Year }).Execute().ToList();

            (from m in table where m.Movie == "Pulp Fiction" && m.Maker == "Pixar" && m.Director == "Quentin Tarantino" select m).Delete().Execute();

            var nm3 = (from m in table where m.Director == "Quentin Tarantino" select new { MA = m.MainActor, Y = m.Year }).Execute().ToList();
        }
コード例 #4
0
        public void InsertAndSelectExecuteAsync()
        {
            var table = Session.GetTable<NerdMovie>();
            table.CreateIfNotExists();
            var movie = new NerdMovie
            {
                Movie = "Life of Brian",
                Director = "Terry Jones",
                MainActor = "Terry Gilliam",
                Maker = "HandMade Films",
                Year = 1979
            };
            var taskInsert = table.Insert(movie).ExecuteAsync();
            var rs = taskInsert.Result;
            Assert.AreEqual(0, rs.Count());

            var taskSelect = table.Where(m => m.Director == "Terry Jones").ExecuteAsync();
            var movies = taskSelect.Result.ToArray();
            var count = movies.Length;
            var resultMovie = movies.First();
            Assert.AreEqual(movie.Maker, resultMovie.Maker);
            Assert.AreEqual(movie.Director, resultMovie.Director);
            Assert.AreEqual(movie.MainActor, resultMovie.MainActor);
            Assert.AreEqual(movie.Year, resultMovie.Year);

            //Fetch from Cassandra the count
            var countQueryResult = table
                .Where(m => m.Director == resultMovie.Director && m.Movie == resultMovie.Movie && m.Maker == resultMovie.Maker)
                .Count()
                .ExecuteAsync()
                .Result;

            Assert.AreEqual(count, countQueryResult);

            var first = table.First(m => m.Director == movie.Director).ExecuteAsync().Result;
            Assert.AreEqual(movie.Maker, first.Maker);
            Assert.AreEqual(movie.Director, first.Director);
            Assert.AreEqual(movie.MainActor, first.MainActor);
            Assert.AreEqual(movie.Year, first.Year);
        }
コード例 #5
0
        static void Main(string[] args)
        {
            Cluster cluster = Cluster.Builder().WithConnectionString("Contact Points=cassi.cloudapp.net;Port=9042").Build();

            using (var session = cluster.Connect())
            {
                string keyspaceName = "Excelsior" + Guid.NewGuid().ToString("N");

                try
                {
                    session.ChangeKeyspace(keyspaceName);
                }
                catch (InvalidQueryException)
                {
                    session.CreateKeyspaceIfNotExists(keyspaceName);
                    session.ChangeKeyspace(keyspaceName);
                }

                var table = session.GetTable <NerdMovie>();
                table.CreateIfNotExists();


                {
                    var batch = session.CreateBatch();

                    var movies = new List <NerdMovie>()
                    {
                        new NerdMovie()
                        {
                            Movie = "Serenity", Maker = "20CentFox", Director = "Joss Whedon", MainActor = "Nathan Fillion", Year = 2005, exampleSet = new List <string>()
                            {
                                "x", "y"
                            }
                        },
                        new NerdMovie()
                        {
                            Movie = "Pulp Fiction", Maker = "Pixar", Director = "Quentin Tarantino", MainActor = "John Travolta", Year = 1994, exampleSet = new List <string>()
                            {
                                "1", "2", "3"
                            }
                        },
                    };

                    batch.Append(from m in movies select table.Insert(m));

                    batch.Execute();
                }

                var testmovie = new NerdMovie {
                    Year = 2005, Director = "Quentin Tarantino", Movie = "Pulp Fiction", Maker = "Pixar"
                };
                table.Where(m => m.Movie == testmovie.Movie && m.Maker == testmovie.Maker && m.Director == testmovie.Director).Select(m => new NerdMovie {
                    Year = testmovie.Year
                }).Update().Execute();


                var anonMovie = new { Director = "Quentin Tarantino", Year = 2005 };
                table.Where(m => m.Movie == "Pulp Fiction" && m.Maker == "Pixar" && m.Director == anonMovie.Director).Select(m => new NerdMovie {
                    Year = anonMovie.Year, MainActor = "George Clooney"
                }).Update().Execute();

                var all2 = table.Where((m) => CqlToken.Create(m.Movie, m.Maker) > CqlToken.Create("Pulp Fiction", "Pixar")).Execute().ToList();
                var all  = (from m in table where CqlToken.Create(m.Movie, m.Maker) > CqlToken.Create("Pulp Fiction", "Pixar") select m).Execute().ToList();

                var nmT = (from m in table where m.Director == "Quentin Tarantino" select new ExtMovie {
                    TheDirector = m.MainActor, Size = all.Count, TheMaker = m.Director
                }).Execute().ToList();
                var nm1 = (from m in table where m.Director == "Quentin Tarantino" select new { MA = m.MainActor, Z = 10, Y = m.Year }).Execute().ToList();

                var nmX = (from m in table where m.Director == "Quentin Tarantino" select new { m.MainActor, Z = 10, m.Year }).Execute().ToList();

                (from m in table where m.Movie.Equals("Pulp Fiction") && m.Maker.Equals("Pixar") && m.Director == "Quentin Tarantino" select new NerdMovie {
                    Year = 1994
                }).Update().Execute();

                table.Where((m) => m.Movie == "Pulp Fiction" && m.Maker == "Pixar" && m.Director == "Quentin Tarantino").Select((m) => new NerdMovie {
                    Year = 1994
                }).Update().Execute();

                var nm2 = table.Where((m) => m.Director == "Quentin Tarantino").Select((m) => new { MA = m.MainActor, Y = m.Year }).Execute().ToList();

                (from m in table where m.Movie == "Pulp Fiction" && m.Maker == "Pixar" && m.Director == "Quentin Tarantino" select m).Delete().Execute();

                var nm3 = (from m in table where m.Director == "Quentin Tarantino" select new { MA = m.MainActor, Y = m.Year }).Execute().ToList();


                session.DeleteKeyspaceIfExists(keyspaceName);
            }

            cluster.Shutdown();
        }
コード例 #6
0
        public void LinqBatchInsertUpdateSelectTest()
        {
            Table <NerdMovie> table = Session.GetTable <NerdMovie>();

            table.CreateIfNotExists();


            {
                Batch batch = Session.CreateBatch();

                var movies = new List <NerdMovie>
                {
                    new NerdMovie
                    {
                        Movie      = "Serenity",
                        Maker      = "20CentFox",
                        Director   = "Joss Whedon",
                        MainActor  = "Nathan Fillion",
                        Year       = 2005,
                        exampleSet = new List <string> {
                            "x", "y"
                        }
                    },
                    new NerdMovie
                    {
                        Movie      = "Pulp Fiction",
                        Maker      = "Pixar",
                        Director   = "Quentin Tarantino",
                        MainActor  = "John Travolta",
                        Year       = 1994,
                        exampleSet = new List <string> {
                            "1", "2", "3"
                        }
                    },
                };

                batch.Append(from m in movies select table.Insert(m));

                batch.Execute();
            }

            var testmovie = new NerdMovie {
                Year = 2005, Director = "Quentin Tarantino", Movie = "Pulp Fiction", Maker = "Pixar"
            };

            table.Where(m => m.Movie == testmovie.Movie && m.Maker == testmovie.Maker && m.Director == testmovie.Director)
            .Select(m => new NerdMovie {
                Year = testmovie.Year
            })
            .Update()
            .Execute();


            var anonMovie = new { Director = "Quentin Tarantino", Year = 2005 };

            table.Where(m => m.Movie == "Pulp Fiction" && m.Maker == "Pixar" && m.Director == anonMovie.Director)
            .Select(m => new NerdMovie {
                Year = anonMovie.Year, MainActor = "George Clooney"
            })
            .Update()
            .Execute();

            List <NerdMovie> all2 = table.Where(m => CqlToken.Create(m.Movie, m.Maker) > CqlToken.Create("Pulp Fiction", "Pixar")).Execute().ToList();
            List <NerdMovie> all  =
                (from m in table where CqlToken.Create(m.Movie, m.Maker) > CqlToken.Create("Pulp Fiction", "Pixar") select m).Execute().ToList();

            List <ExtMovie> nmT =
                (from m in table
                 where m.Director == "Quentin Tarantino"
                 select new ExtMovie {
                TheDirector = m.MainActor, Size = all.Count, TheMaker = m.Director
            }).Execute().ToList();
            var nm1 = (from m in table where m.Director == "Quentin Tarantino" select new { MA = m.MainActor, Z = 10, Y = m.Year }).Execute().ToList();

            var nmX = (from m in table where m.Director == "Quentin Tarantino" select new { m.MainActor, Z = 10, m.Year }).Execute().ToList();

            (from m in table
             where m.Movie.Equals("Pulp Fiction") && m.Maker.Equals("Pixar") && m.Director == "Quentin Tarantino"
             select new NerdMovie {
                Year = 1994
            }).Update().Execute();

            table.Where(m => m.Movie == "Pulp Fiction" && m.Maker == "Pixar" && m.Director == "Quentin Tarantino")
            .Select(m => new NerdMovie {
                Year = 1994
            })
            .Update()
            .Execute();

            var nm2 = table.Where(m => m.Director == "Quentin Tarantino").Select(m => new { MA = m.MainActor, Y = m.Year }).Execute().ToList();

            (from m in table where m.Movie == "Pulp Fiction" && m.Maker == "Pixar" && m.Director == "Quentin Tarantino" select m).Delete().Execute();

            var nm3 = (from m in table where m.Director == "Quentin Tarantino" select new { MA = m.MainActor, Y = m.Year }).Execute().ToList();
        }
コード例 #7
0
        static void Main(string[] args)
        {
            Cluster cluster = Cluster.Builder().WithConnectionString("Contact Points=cassi.cloudapp.net;Port=9042").Build();

            using (var session = cluster.Connect())
            {

                string keyspaceName = "Excelsior"+Guid.NewGuid().ToString("N");

                try
                {
                    session.ChangeKeyspace(keyspaceName);
                }
                catch (InvalidException)
                {
                    session.CreateKeyspaceIfNotExists(keyspaceName);
                    session.ChangeKeyspace(keyspaceName);
                }

                var table = session.GetTable<NerdMovie>();
                table.CreateIfNotExists();

                {
                    var batch = session.CreateBatch();

                    var movies = new List<NerdMovie>()
                    {
                        new NerdMovie(){ Movie = "Serenity", Maker="20CentFox",  Director = "Joss Whedon", MainActor = "Nathan Fillion", Year = 2005},
                        new NerdMovie(){ Movie = "Pulp Fiction", Maker = "Pixar", Director = "Quentin Tarantino", MainActor = "John Travolta", Year = 1994},
                    };

                    batch.Append(from m in movies select table.Insert(m));

                    batch.Execute();
                }

                var testmovie = new NerdMovie { Year = 2005, Director = "Quentin Tarantino", Movie = "Pulp Fiction", Maker = "Pixar" };
                table.Where(m => m.Movie == testmovie.Movie && m.Maker==testmovie.Maker && m.Director == testmovie.Director).Select(m => new NerdMovie { Year = testmovie.Year }).Update().Execute();

                var anonMovie = new { Director = "Quentin Tarantino", Year = 2005 };
                table.Where(m => m.Movie == "Pulp Fiction" && m.Maker == "Pixar" && m.Director == anonMovie.Director).Select(m => new NerdMovie { Year = anonMovie.Year, MainActor = "George Clooney" }).Update().Execute();

                var all2 = table.Where((m) => CqlToken.Create(m.Movie, m.Maker) > CqlToken.Create("Pulp Fiction", "Pixar")).Execute().ToList();
                var all = (from m in table where CqlToken.Create(m.Movie, m.Maker) > CqlToken.Create("Pulp Fiction", "Pixar") select m).Execute().ToList();

                var nmT = (from m in table where m.Director == "Quentin Tarantino" select new ExtMovie { TheDirector = m.MainActor, Size=all.Count, TheMaker = m.Director }).Execute().ToList();
                var nm1 = (from m in table where m.Director == "Quentin Tarantino" select new { MA = m.MainActor, Z = 10, Y = m.Year }).Execute().ToList();

                var nmX = (from m in table where m.Director == "Quentin Tarantino" select new { m.MainActor, Z = 10, m.Year }).Execute().ToList();

                (from m in table where m.Movie.Equals("Pulp Fiction") && m.Maker.Equals("Pixar") && m.Director == "Quentin Tarantino" select new NerdMovie { Year = 1994 }).Update().Execute();

                table.Where((m) => m.Movie == "Pulp Fiction" && m.Maker == "Pixar" && m.Director == "Quentin Tarantino").Select((m) => new NerdMovie { Year = 1994 }).Update().Execute();

                var nm2 = table.Where((m) => m.Director == "Quentin Tarantino").Select((m) => new { MA = m.MainActor, Y = m.Year }).Execute().ToList();

                (from m in table where m.Movie == "Pulp Fiction" && m.Maker == "Pixar" && m.Director == "Quentin Tarantino" select m).Delete().Execute();

                var nm3 = (from m in table where m.Director == "Quentin Tarantino" select new { MA = m.MainActor, Y = m.Year }).Execute().ToList();

                session.DeleteKeyspaceIfExists(keyspaceName);
            }

            cluster.Shutdown();
        }