0

嗨,我有一个包含一些值(ID)的表,当然,当我得到结果时,我只得到了 int ID,但我想让它更加用户友好,例如当它是数字 1 时,我想把字符串“可用”,当它的 2“不可用”时,我在 N 层环境中,我需要在模型上完成此操作,实现此目的的最佳方法是什么,我必须声明另一个类来投影字符串,或者我必须使用字典之类的东西,Key -> Value。

现在我只有这个

return from t in db.products where t.productID==productID select t;
4

1 回答 1

1

如果您使用的是 Linq to SQL,则需要另一个表来包含产品状态:

Table Name: Product Status
Fields:     ProductStatusID   int Indentity Primary Key
            ProductStatus     nvarchar(50)

在您的产品表中添加一个字段:

Field to Add:  ProductStatusID    int

将一些状态添加到新表中,并将每个产品的 ProductStatusID 设置为适当的状态 ID。

添加将两个 ProductStatusID 字段连接在一起的约束。最简单的方法是在 SQL Server Management Studio Express 中创建一个图表,将两个表拖到图表上,然后将 ProductStatusID 字段从 ProductStatus 表拖到 Products 表,然后在打开的对话框中单击“确定”。

重建您的 Linq to SQL 数据类。为此,您可以删除并重新创建 DBML 文件,然后再次将表拖到设计器中。

当您从 dataContext 对象中获取产品对象 (p) 时,您现在应该会看到:

p.ProductStatus   <-- The text description of the product's status.

Linq to SQL 将进入您的 ProductStatus 表,并查找适当的状态描述。

于 2009-06-18T04:48:55.097 回答