相关疑难解决方法(0)

EF5 Code First Enums和Lookup Tables

我想定义一个用于EF5的枚举,以及一​​个相应的查找表.我知道EF5现在支持枚举,但开箱即用,它似乎只在对象级别支持此功能,并且默认情况下不会为这些查找值添加表格.

例如,我有一个用户实体:

public class User
{
    int Id { get; set; }
    string Name { get; set; }
    UserType UserType { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

和UserType枚举:

public enum UserType
{
    Member = 1,
    Moderator = 2,
    Administrator = 3
}
Run Code Online (Sandbox Code Playgroud)

我希望数据库生成创建一个表,如:

create table UserType
(
    Id int,
    Name nvarchar(max)
)
Run Code Online (Sandbox Code Playgroud)

这可能吗?

entity-framework ef-code-first entity-framework-5

29
推荐指数
3
解决办法
2万
查看次数

枚举EF 5.0 - 数据库优先

如果我使用Database First,如何使我的上下文对象使用Entity Framework 5.0中的Enum功能.

c# enums entity-framework database-first entity-framework-5

27
推荐指数
1
解决办法
6841
查看次数

如何使用 SQL 显示字符串枚举值而不是数字值

我正在尝试显示所有带有status Dispatched. 然而,其唯一返回number valuestatus,而不是实际的string value。我想这是因为我曾经Enum存储过我的status values?

我希望显示这个词Dispatched而不是number value它在Enum

我在 ASP.Net MVC 中开发,我query builder在 VS2013 中使用。

我不确定如何解决这个问题,任何人都可以使用 SQL 提出一个易于理解的解决方案。

如果需要任何其他代码,请告诉我,并提前感谢您!

这是我想要的查询,但它不起作用:

SELECT Delivery.[Status], 
COUNT(Delivery.DeliveryID) AS Dispatched_Status 
FROM Delivery 
WHERE Delivery.[Status] = 'Dispatched'
GROUP BY Delivery.[Status];
Run Code Online (Sandbox Code Playgroud)

这是确实有效但返回数字值的查询。我这样尝试是因为 Enum 将字符串值存储为数字:

SELECT Delivery.[Status], 
COUNT(Delivery.DeliveryID) AS Dispatched_Status 
FROM Delivery 
WHERE Delivery.[Status] = '1'
GROUP BY Delivery.[Status];
Run Code Online (Sandbox Code Playgroud)

PS 我知道这status是一个保留字 - 将来会遵循正确的命名约定。

交货表定义

在此处输入图片说明

c# sql enums

6
推荐指数
1
解决办法
6490
查看次数