小编Tom*_*ook的帖子

使用C#或Linq对MongoDB和SQL使用相同的语法

注意到MongoDB具有不同的关键字,例如InsertOne,ReplaceOne等。Linq(语言集成查询)的重点是拥有一种通用语言,使人们可以利用依赖注入和SQL或NoSQL之间的交换而无需大量更改语法。SQL使用.Add()和Remove()。

有没有简单的方法可以使两者具有相似的语法?

SQL:

https://docs.microsoft.com/zh-cn/ef/core/saving/basic

MongoDB:

https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/first-mongo-app?view=aspnetcore-2.2&tabs=visual-studio

https://docs.mongodb.com/manual/reference/method/db.collection.insertOne/

public BookService(IConfiguration config)
    {
        var client = new MongoClient(config.GetConnectionString("BookstoreDb"));
        var database = client.GetDatabase("BookstoreDb");
        _books = database.GetCollection<Book>("Books");
    }

    public List<Book> Get()
    {
        return _books.Find(book => true).ToList();
    }

    public Book Get(string id)
    {
        return _books.Find<Book>(book => book.Id == id).FirstOrDefault();
    }

    public Book Create(Book book)
    {
        _books.InsertOne(book);
        return book;
    }

    public void Update(string id, Book bookIn)
    {
        _books.ReplaceOne(book => book.Id == id, bookIn);
    }

    public void Remove(Book bookIn)
    {
        _books.DeleteOne(book => book.Id == bookIn.Id);
    }

    public …
Run Code Online (Sandbox Code Playgroud)

c# sql-server mongodb .net-core .net-core-2.0

5
推荐指数
1
解决办法
90
查看次数

静态工厂是否适用于C#?

我正在阅读有关静态工厂方法的信息。静态工厂方法编码技术仅适用于Java,还是可以适用于C#.Net?似乎更像是Java。

https://dzone.com/articles/constructors-or-static-factory-methods

class Color {
    private final int hex;
    static Color makeFromRGB(String rgb) {
        return new Color(Integer.parseInt(rgb, 16));
    }
    static Color makeFromPalette(int red, int green, int blue) {
        return new Color(red << 16 + green << 8 + blue);
    }
    static Color makeFromHex(int h) {
        return new Color(h);
    }
    private Color(int h) {
        return new Color(h);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# java factory .net-core .net-core-2.0

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

标签 统计

.net-core ×2

.net-core-2.0 ×2

c# ×2

factory ×1

java ×1

mongodb ×1

sql-server ×1