1

我认为我在理解一些基本概念时遇到了问题......我正在创建一个用于管理复杂数据库的项目,(我正在使用 linq 到我在 ms-sql 2012 和 WPF 中的数据库的实体)我有2个主要问题:

我想创建一个通用视图来编辑(删除更新和插入)数据库中的大量表,我手动创建表列表没有问题,但之后我如何以通用方式管理它?linq to entity 不允许执行以下操作:

string tableName = listbox.selectedItem.value;
var a = from p in db.tables[tableName] select p;

即使我为每个表手动完成所有这些,我如何创建一个编辑信息的 UI?我需要动态创建一个表单/视图/用户控件进行编辑,其中将包含每列的文本框和日期时间选择器等项目...但我无法为表格进行通用选择...

我遇到的另一个问题是操作数据,假设我在数据库中有一个 TASK 表

var tsks = from p in TASKs select new {p.task_id, p.task_description, p.task_date}

我想将它全部加载到gridview,但不是task_date列,我需要从函数中对其进行操作,例如:

02/12/2012 will show "From Today"
30/11/2012 will show "From 2 days ago"

而且我只是不知道如何将这种函数连接到数据绑定我尝试过创建 sql 函数我尝试过在代码中调用函数并尝试为实体创建扩展函数但总是卡住并失败。

为了清楚起见,我在 .net 技术方面有一些很好的经验,但 WPF 和 LINQ 对我来说是新的,我可以在没有 linq 的情况下直接联系 SQL DB,轻松地在 asp.net 或 windows 窗体应用程序中创建以上所有内容,因此我理解我对一些基础知识的理解有疑问,希望得到我的 2 个问题的答案,并且非常乐意获得相关教程的指导

4

1 回答 1

1

我将尝试回答第二个问题。我建议您先阅读一些关于 WPF 中的绑定和 MVVM 设计模式的内容,它将帮助您了解如何使用 WPF 的数据网格,它与 win 表单中的工作方式不同。

为了回答这个问题,将日期属性绑定到列后,您可以轻松创建一个值转换器,请参见此示例: http ://wpftutorial.net/ValueConverters.html 。

在你的情况下,你需要一个 DateTime 来字符串转换

于 2012-12-02T13:42:18.653 回答