您好,感谢您的光临。
对于我正在处理的应用程序,我有一个DAL问题。该应用程序将从生产RDBMS中提取5-6个表中的一些数据,这些数据在组织中起着更为关键的作用。应用程序必须做的是使用这些表中的数据,分析,应用一些业务逻辑/规则然后呈现。
限制因为存储模型本质上对组织至关重要,我需要限制应用程序请求数据的方式。由于表格相对较小,我创建了数据访问权限,使用DataTables使用计时器以固定的时间间隔加载整个数据库表。
我的问题实际上是围绕我当前的设计以及EF或LINQtoSQL的潜在用途
EF / LS可以解决RDBMS的限制吗?我见过的大多数教程,存储仅存在于应用程序中。可以控制存储的访问和/或EF可以使用DataTables而不是An RDBMS吗?
由于要加载整个表,是否有最佳实践来创建类来使用这些表中的数据?我将不得不在内存连接和查询/逻辑中获取我需要的实际数据。
很抱歉,如果我是通用的。我更倾向于寻找想法和意见,而不是解决我的问题。请毫不犹豫地分享您的想法。感谢。
答案 0 :(得分:0)
对于您的第一个问题,是实体框架可以使用现有数据库作为其来源,在查找有关此主题的实体框架教程时搜索的术语称为“数据库优先”
对于你的第二个问题,让我首先给它一个警告:许多ORM并不是设计用来加载整个数据表并对它们进行批量操作,特别是如果你要修改结果集并推送数据以大量量回到服务器。更新将为row based not set based,因为您使用C#代码进行了修改,而不是在T-SQL查询中进行了修改。大多数ORM是围绕着你将在行级别进行CRUD操作,而不是ETL操作或设置级别CRUD操作(大多数ORM的 R 除外)构建的。将作为一组操作)。
如果您不更新数据,只需使用Entity Framework提取并构建报告以及您应该没有的数据。如果您批量插入到数据库中,事情会变得更加棘手。 See this SO question for more information.