请注意,本站并不支持低于IE8的浏览器,为了获得最佳效果,请下载最新的浏览器,推荐下载 Chrome浏览器
欢迎光临。交流群:166852192

YesSQL简介


YesSQL是使用.NET Core构建的基于文档的数据库,基本上它是关系数据库的接口。YesSQL允许您作为开发人员使用普通对象CLR对象(POCO)来定义和创建文档和索引。
YesSQL的很大一部分是使用任何RDBMS来存储文档,这为您提供了SQL数据库的所有功能,例如事务,复制,报告等等。没有什么花哨..它是纯SQL!
到目前为止,它支持各种数据库,如:SQL Server,MySql,Postgre,Sqlite,LightningDB和内存。

另一个文件数据库..为什么不!

AFAIK在市场上有许多优秀的文档数据库,如DocumentDB,MangoDB,RavenDB,CouchDB等。大多数开发人员(即使是我)的主要问题之一,有时我们需要一个免费的数据库,特别是在开发环境工作时,所以这样会减少你在市场上的选择,因为并不是所有的数据库都是免费的。第二个问题不是所有可用的数据库都是事务性的。最后一点是如果你考虑.NET Core文档数据库,几乎抽象出你代表的东西,并为你做正确的工作。
IMHO如果您不关心我之前提到的所有问题,请勿打扰自己,因为YesSQL将无用于您,除非您需要尝试并挖掘源代码:)

YesSQL与NoSQL

YesSQL和NoSQL之间的主要区别是YesSQL使用关系数据库,因为在SQL中我们(仍然)信任! 正如塞巴斯蒂安所说,另一方面,NoSQL是非关系的,基本上它使用其他数据结构,如键值,宽列,图形或文档。

如何使用它

YesSQL在您的应用程序中很容易使用,因此对于那些在NHibernate或EntityFramework上工作的人,您会注意到概念中有很多相似之处。
让我们来看看,与YesSQL一起工作的简单之处,首先假定我们有以下模型:
public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public char Gender { get; set; }
    public DateTime BirthDate { get; set; }
}
那么我们需要配置数据存储,所以我将使用SQL Server进行这个演示,随时选择你喜欢的
var config = new Configuration
{
    ConnectionFactory = new DbConnectionFactory<SqlServerConnection>(@"Server=.;Database=MyDB;Integrated Security=True"),
    DocumentStorageFactory = new new SqlDocumentStorageFactory()
};

var store = new Store(config);

store.InitializeAsync().Wait();
现在让我们坚持一些数据
var person = new Person
{
    FirstName = "Hisham",
    LastName = "Bin Ateya",
    Gener = 'M',
    BirthDate = new DateTime(1984, 2, 4);
};

using(var session = store.CreateSession())
{
    session.Save(person);
}
如果您注意到我们使用该方法建立会话CreateSession(),这与DbContextEF 类似,那么我们使用Save()方法保存了新创建的对象
同样,您可以查询或更新任何文档
using(var session = store.CreateSession())
{
    var person = session.Query<Person>().FirstOrDefault();
   Console.WriteLine($"{person.FirstName} {person.LastName}");
}
using(var session = store.CreateSession())
{
    var person = session.Query<Person>().FirstOrDefault();
   
    person.BirthDate = new DateTime(1984, 4, 2);
}
我们完了!!我们看到玩了一些YesSQL基础是多么的容易,你也可以挖掘一些先进的功能,如索引。
最后但并非最不重要的一点,我想指出,SébastienRos在Orchard Hardvest 2017活动中给了YesSQL的一个很棒的演示,我鼓励你在下面的链接中查看视频。

最后我想提到YesSQL是Orchard Core的数据访问权限,这对于Orchard vNext这样的数据库来说将是一个很大的前景。
您可以从GitHub上的YesSQL存储库中检出此项目的源代码
原文:http://www.hishambinateya.com/introduction-to-yessql 

作者原创内容不容易,如果觉得内容不错,请点击右侧“打赏”,赏俩给作者花花,也算是对作者付出的肯定,也可以鼓励作者原创更多更好内容。
更多详情欢迎到QQ群 166852192 交流。