我目前正在帮助某人将项目从 MongoDB 升级到 MS SQL;实体框架在整个代码中被广泛使用,当我试图加快速度时,我必须承认我仍然对它感到有点烦恼。我知道它可以用来自动映射数据库中类和各个列之间的关系,但除此之外,我知之甚少。我更习惯于使用 ADO 手动设置关系的旧方式,所以这对我来说是一种新体验。
特别是一段代码,一种方法,似乎是升级方案的关键,我在创建与 MS SQL 兼容的模拟时遇到了一些麻烦。代码如下:
public IQueryable<T> GetCollection<T>(ColName collectionName)
{
MongoDatabase database = GetDatabase();
MongoCollection<T> collection = database.GetCollection<T>(collectionName.ToString());
return collection.AsQueryable();
}
通常,我只是从数据库中复制列名,并将字段设置在一个新对象中,然后返回它们的列表。除了在这种情况下,它是一个通用/模板,我想实体会根据它在数据库中找到的内容自动映射对象内部的字段。不幸的是,这是我能做到的。我正在阅读本网站上的教程/其他问题,但是使用我没有经验的东西,这似乎有点让我头疼。也许某种设计的 Linq 声明可能在这里起作用?或者更手动的东西...
任何帮助,将不胜感激。