static void Main(string[] args) { //用sqlite持久化后 var actorid = "this1234"; var dbfile = @"C:\MyFile\Source\Repos\Asp.NetCoreExperiment\Asp.NetCoreExperiment\ProtoActor\ProtoPersistenceDemo01\data.sqlite"; var sqliteProvider = new SqliteProvider(new SqliteConnectionStringBuilder() { DataSource = dbfile }); var counter = new Counter(sqliteProvider, actorid); var props = Actor.FromProducer(() => counter); var pid = Actor.Spawn(props); for (int i = 0; i < 2; i++) { var no = int.Parse(Console.ReadLine()); pid.Tell(new Added { Amount = no }); } Console.ReadLine(); //完成处理后清理持久化的操作 sqliteProvider.DeleteEventsAsync(actorid, 10).Wait(); }
static void Main(string[] args) { var system = new ActorSystem(); var context = new RootContext(system); var provider = new SqliteProvider(new SqliteConnectionStringBuilder { DataSource = "states.db" }); var props = Props.FromProducer(() => new Calculator(provider)); var pid = context.Spawn(props); system.Root.Send(pid, new AddCommand { Value = 100 }); system.Root.Send(pid, new SubtractCommand { Value = 50 }); system.Root.Send(pid, new PrintResultCommand()); system.Root.Poison(pid); pid = context.Spawn(props); system.Root.Send(pid, new PrintResultCommand()); Console.ReadLine(); }
/// <summary> /// 快照 /// </summary> /// <param name="actorid"></param> /// <param name="sqliteProvider"></param> private static void CallSnapShoot(string actorid, SqliteProvider sqliteProvider) { var props = Actor.FromProducer(() => new SnapShootDataActor(sqliteProvider, actorid)); var pid = Actor.Spawn(props); var result = true; while (result) { Console.WriteLine("1、Tell 2、删除持久化 3、退出"); switch (Console.ReadLine()) { case "1": var random = new Random(); var no = random.Next(5, 15); Console.WriteLine($"随机产生的数字:{no}"); pid.Tell(new Data { Amount = no }); break; case "2": //完成处理后清理持久化的操作 sqliteProvider.DeleteSnapshotsAsync(actorid, 100).Wait(); break; case "3": result = false; break; } } }
static void Main(string[] args) { //用sqlite持久化后 var actorid = "myactorid"; var dbfile = @"C:\MyFile\Source\Repos\ProtoActorSample\ProtoActorSample\P008_Persistence\data.sqlite"; var sqliteProvider = new SqliteProvider(new SqliteConnectionStringBuilder() { DataSource = dbfile }); while (true) { Console.WriteLine("1、事件溯源 2、快照 3、带快照的事件溯源 4、退出"); switch (Console.ReadLine()) { case "1": CallEventSource(actorid, sqliteProvider); break; case "2": CallSnapShoot(actorid, sqliteProvider); break; case "3": CallSnapShootEventSource(actorid, sqliteProvider); break; case "4": return; } } }
static void Main(string[] args) { var wire = new WireSerializer(new[] { typeof(HelloRequest), typeof(HelloResponse) }); Serialization.RegisterSerializer(wire, true); Console.Title = "服务端"; var actorid = "this1234"; var dbfile = @"C:\MyFile\Source\Repos\Asp.NetCoreExperiment\Asp.NetCoreExperiment\ProtoActor\ServiceA\data.sqlite"; var sqliteProvider = new SqliteProvider(new SqliteConnectionStringBuilder() { DataSource = dbfile }); var localActor = new LocalActor(sqliteProvider, actorid); var props = Actor.FromProducer(() => localActor); Remote.RegisterKnownKind("hello", props); Remote.Start("127.0.0.1", 12000); Console.WriteLine("服务端开始……"); Console.ReadLine(); Console.ReadLine(); }
public void Ctor_SuccessfullyCreated() { var mockMessager = new Mock <IMessageFinder>(); var mockConfig = new Mock <IConfig>(); var sut = new SqliteProvider(mockMessager.Object, mockConfig.Object); Assert.IsNotNull(sut); }
private static void CreateSqlFile(string fileName) { File.Delete(fileName); var sqliteProvider = new SqliteProvider(); sqliteProvider.CreateConnection("Filename=" + fileName); sqliteProvider.Save(SceneInUse.Instance.Scene); sqliteProvider.CloseConnection(); }
public void DeleteBook(string bookId) { using (SqliteProvider db = new SqliteProvider()) { db.Books.Remove(db.Books.Single(b => b.Id == int.Parse(bookId))); db.SaveChanges(); List <Author> authors = db.Authors.Where(a => a.BooksAuthors.Any(ba => ba == null)).ToList(); } }
public void sqlite_test_pagination_strings() { var m = new SqliteProvider(Config.SqlServerProviderName); string cnt; string sel; m.MakePaged("select * from test", out sel, out cnt); Assert.Equal("select count(*) from test", cnt); Assert.Equal(string.Format("select * from test limit @{0},@{1}", PreparePagedStatement.SkipParameterName, PreparePagedStatement.TakeParameterName), sel); }
static void Main(string[] args) { var provider = new SqliteProvider(); var props = Actor.FromProducer(() => new MyPersistenceActor(provider)); var pid = Actor.Spawn(props); Console.ReadLine(); }
static void Main(string[] args) { var provider = new SqliteProvider(); var props = Actor.FromProducer(() => new MyPersistenceActor()) .WithReceiveMiddleware(Persistence.Using(provider)); var pid = Actor.Spawn(props); Console.ReadLine(); }
public void ShowBooks() { using (SqliteProvider db = new SqliteProvider()) { Book[] books = db.Books.ToArray(); foreach (var book in books) { Console.WriteLine($"Id - {book.Id},book title - {book.Title} "); } } }
public void ShowAuthors() { using (SqliteProvider db = new SqliteProvider()) { Author[] authors = db.Authors.ToArray(); foreach (var author in authors) { Console.WriteLine($"Id - {author.Id},last name - {author.LastName} "); } } }
/// <summary> /// Starts a new TaskListManager and defaults to the global task list, and loads all tasks in the database /// </summary> public TaskListManager() { _sqliteProvider = new SqliteProvider(); CreateAppDataFolder(); CreateAppDatabases(); // Get databases for loaded solution and projects - if a solution/project is open GetDatabaseList(); // Default to using Global database for now SwitchDatabase(_taskDatabases[GLOBAL_DB_DATASOURCE_NAME]); }
static void Main(string[] args) { var provider = new SqliteProvider(new SqliteConnectionStringBuilder { DataSource = "states.db" }); var props = Actor.FromProducer(() => new MyPersistenceActor(provider)); var pid = Actor.Spawn(props); Console.ReadLine(); }
public static IConfigureEventStore UseSqlite(this IConfigureEventStore store, Func <DbConnection> factory, string cnx, string schema = null) { SqlFuManager.Configure(d => { d.AddProfile(new SqlFu.Providers.Sqlite.SqliteProvider(factory), cnx, "sqlite"); RegisterSqlFuConfig(d, schema); }); var provider = new SqliteProvider(SqlFuManager.GetDbFactory("sqlite")); store.WithProvider(provider); return(store); }
private static void Main(string[] args) { var context = new RootContext(new ActorSystem()); var provider = new SqliteProvider(new SqliteConnectionStringBuilder { DataSource = "states.db" }); var props = Props.FromProducer(() => new MyPersistenceActor(provider)); var pid = context.Spawn(props); Console.ReadLine(); }
private static Scene ImportSqliteFile(int index, string fileName) { var sqliteProvider = new SqliteProvider(); sqliteProvider.CreateConnection("Filename=" + fileName); var scene = sqliteProvider.LoadScene(sqliteProvider.LoadScenes()[index].SceneId); sqliteProvider.CloseConnection(); int sceneIdInFile = scene.SceneId; var insertedScene = DataAccessFacade.Instance.GetSceneAccess().SaveNew(scene); SceneInUse.Instance.Set(insertedScene); return(insertedScene); }
static void Main(string[] args) { Console.Title = "Order系统"; System.Threading.Thread.Sleep(100); var actorid = "order_actor_ids"; var dbfile = @"C:\MyFile\Source\Repos\ProtoActorSample\ProtoActorSample\P010_Order\data.sqlite"; var sqliteProvider = new SqliteProvider(new SqliteConnectionStringBuilder() { DataSource = dbfile }); var props = Actor.FromProducer(() => new OrderActor(sqliteProvider, actorid));//.WithChildSupervisorStrategy(new OneForOneStrategy(SupervisorMode.Decide,5, TimeSpan.FromSeconds(1))); ; var pid = Actor.SpawnNamed(props, "order"); Console.ReadLine(); }
static void Main(string[] args) { var actorid = "order_actor_id"; var dbfile = @"C:\MyFile\Source\Repos\ProtoActorSample\ProtoActorSample\P010_Order\data.sqlite"; var sqliteProvider = new SqliteProvider(new SqliteConnectionStringBuilder() { DataSource = dbfile }); var props = Actor.FromProducer(() => new OrderActor(sqliteProvider, actorid)); var pid = Actor.SpawnNamed(props, "order"); pid.Tell(new Order { OrderNo = "DJ000012352", Total = 1524631.25m, OrderTime = DateTime.Now }); Console.ReadLine(); }
public void ShowAuthorsBooks(string authorId) { using (SqliteProvider db = new SqliteProvider()) // { { // Author author = db.Authors.Single(a => a.Id == int.Parse(authorId)).BooksAuthors.Where(ba=>ba.AuthorId==) List <Book> books = db.Books.Where(b => b.BooksAuthors.Any(ba => ba.AuthorId == int.Parse(authorId))).ToList(); if (books == null) { Console.WriteLine(Text.invalidIndexAuthors); } foreach (var book in books) { Console.WriteLine($"Id-{book.Id}, title - {book.Title}, year of publish -{book.YearOfPublish} "); } } }
public void ShowBooksAuthors(string bookId) { using (SqliteProvider db = new SqliteProvider()) // { { // Author author = db.Authors.Single(a => a.Id == int.Parse(authorId)).BooksAuthors.Where(ba=>ba.AuthorId==) List <Author> authors = db.Authors.Where(b => b.BooksAuthors.Any(ba => ba.BookId == int.Parse(bookId))).ToList(); if (authors == null) { Console.WriteLine(Text.invalidIndexAuthors); } foreach (var author in authors) { Console.WriteLine($"Id-{author.Id}, last name - {author.LastName}"); } } }
public void AddBook(string book, string yearOfPublish, string[] authors) { using (SqliteProvider db = new SqliteProvider()) { Book newBook = new Book { Title = $"{book}", YearOfPublish = $"{yearOfPublish}" }; db.Books.Add(newBook); var authorsToSaveList = new List <Author>(); var existingAuthorsIds = new List <int>(); foreach (string authorLastName in authors) { var author = db.Authors.Where(a => a.LastName == $"{authorLastName}").FirstOrDefault <Author>(); if (author != null) { existingAuthorsIds.Add(author.Id); continue; } authorsToSaveList.Add(new Author { LastName = authorLastName }); } db.Authors.AddRange(authorsToSaveList); db.SaveChanges(); foreach (var authorIndex in existingAuthorsIds) { newBook.BooksAuthors.Add(new BooksAuthors { BookId = newBook.Id, AuthorId = authorIndex }); } for (int count = 0; count < authorsToSaveList.Count; count++) { newBook.BooksAuthors.Add(new BooksAuthors { BookId = newBook.Id, AuthorId = authorsToSaveList.ElementAt(count).Id }); } db.SaveChanges(); Console.WriteLine(Text.successAddBook); } }
public static void TrySqlite() { if (!IsTrySqlite) { try { SqliteProvider db = new SqliteProvider(); var conn = db.GetAdapter(); IsTrySqlite = true; } catch { var message = ErrorMessage.GetThrowMessage( "You need to refer to System.Data.SQLite.Core", "你需要引用System.Data.SQLite.Core,如果有版本兼容问题请先删除原有引用"); throw new Exception(message); } } }
static IDbFactory GetFactory(string cnxString) { cnxString.MustNotBeEmpty("We need a valid connection string"); #if NET461 Func <DbConnection> cnx = SQLiteFactory.Instance.CreateConnection; #endif #if NETCORE Func <DbConnection> cnx = SqliteFactory.Instance.CreateConnection; #endif var provider = new SqliteProvider(cnx); return(new DbFactory(new DbAccessProfile() { ConnectionString = cnxString, Name = "dbussql", Provider = provider })); }
public static void Init(IServiceProvider serviceProvider, IWebHostEnvironment env) { IAdminSecurityApplication securityApplication = new AdminSecurityApplication(); securityApplication.ResetIpFilter(); securityApplication = null; var cache = SqlCache.Instance; ISqlProvider provider = new SqlServerProvider(); provider.Init(cache); provider = new MySqlProvider(); provider.Init(cache); provider = new SqliteProvider(); provider.Init(cache); provider = new PostgreSQLProvider(); provider.Init(cache); provider = null; //var assList = AppDomain.CurrentDomain.GetAssemblies().Where(q => q.FullName?.Contains("Plugin") ?? false).ToList(); //foreach (var ass in assList) { // SqlProviderInit(cache, ass); //} //var dir = Path.Combine(env.ContentRootPath, "Plugins"); //if (Directory.Exists(dir)) { // var files = Directory.GetFiles(dir, "*.Plugin*.dll", SearchOption.AllDirectories); // foreach (var file in files) { // try { // var ass = Assembly.LoadFrom(file); // SqlProviderInit(cache, ass); // } catch (Exception) { } // } //} }
protected override string EscapeName(string name) { return(SqliteProvider.EscapeIdentifier(name)); }
public void Insert_OrderCrudOperation() { // Arrange var provider = new SqliteProvider(_context); // Act // Insert test order detail. provider.Insert(new Order { Latitude = Latitude, Longitude = Longitude, OrderTitle = OrderTitle, Status = Status }); // Fetch inserted order detail. var orders = provider.GetAll(); // Validate Assert.Equal(1, orders.Count); Assert.Equal(Latitude, orders.First().Latitude); Assert.Equal(Longitude, orders.First().Longitude); Assert.Equal(OrderTitle, orders.First().OrderTitle); Assert.Equal(Status, orders.First().Status); // Fetch Order var orders1 = provider.GetAll().First(); // Update Order var newOrder = new Order { Id = orders1.Id, Latitude = Latitude2, Longitude = Longitude2, Status = orders1.Status, OrderTitle = orders1.OrderTitle }; provider.Update(newOrder); // Fetching Updated Order var orders2 = provider.GetAll(); // Validate Assert.Equal(1, orders2.Count); Assert.Equal(Latitude2, orders2.First().Latitude); Assert.Equal(Longitude2, orders2.First().Longitude); Assert.Equal(OrderTitle, orders2.First().OrderTitle); Assert.Equal(Status, orders2.First().Status); // Remove Test Records foreach (var order in orders) { provider.Remove(order); } // Fetch order detail. var orders3 = provider.GetAll(); // Validate Assert.Equal(0, orders3.Count); }
public override void provider_escape_name() { Assert.Equal("\"main.test\"", SqliteProvider.EscapeIdentifier("main.test")); }
protected override void WriteColumn(IndexColumn column) { Builder.Append(SqliteProvider.EscapeIdentifier(column.Name)); }