使用C#进行数据库交互而不使用实体框架

use*_*109 10 .net c# sql-server ado.net

我得到了一个分配,我需要显示一个表单,数据驻留在Sql server的各个表中.要求严格禁止使用实体框架或存储过程.在这种情况下,我的选择是什么?

目前我正在使用SqlCommand对象运行一些SQL查询,但是在获取关系数据然后允许用户从表单更新它时,事情变得非常复杂.

Winforms中允许查看和编辑关系数据的最佳方法/方法是什么?

Rob*_*sen 0

  • 问题#1 以“[除了实体框架]我的选择是什么?”结束。您在评论中得到了答案(Straight-up ADO.NET 或 NHibernate)。您也知道这一点,因为您说过您正在使用 SqlCommand。

  • 问题#2 是一个难题,我认为这就是您的讲师希望您找到的问题:“Winforms 中允许查看和编辑关系数据的最佳方式/方法是什么?”

我使用 Microsoft Stack 为关系数据制作了大量 UI。但无论技术如何,都需要一个好的模式或方法。简短的答案(不是一本书)是从 UI 中抽象数据。这样他们就可以独立工作,也可以独立改变。

首先意识到编辑数据和显示数据应该是程序的两个不同部分。我喜欢的一种方法是从 SQL SERVER 选择 XML 形式的关系数据,然后使用 XSLT 来显示它:

<Customer>
    <Name>...
    <Company>...
    <Phone>...
    <BillingAddresses>
         <Address>...
         <Address>...
    <PayementMethods>
         <CreditCard>...
         <CreditCard>...
    <RecentOrders>
         <Order>...
         <Order>...
         <Order>...
Run Code Online (Sandbox Code Playgroud)

您可以使用 XSLT 轻松将其转换为您想要的 HTML。<Address>在此示例中,在显示每个部分的位置旁边,<CreditCard>您可以放置​​“编辑/删除”链接,以及每个部分下的“添加”链接。

单击“编辑/删除/添加”将带您进入修改该部分关系数据的屏幕。当您返回到将 XML 显示为 HTML 的屏幕时,您将看到更新的数据。

这很好,因为您可以轻松修改 XML,而无需重新编译代码。您还可以使用 XSLT 以您想要的任何布局显示数据。然后,您的 XML 可以包含存储为代码的文字(AMX=AMERICAN EXPRESS 等)。

无论如何,这只是一种没有实际要求的解决方案(例如支持“UNDO”、一次应用多个更改等)。