我已经定义了以下内容enum:
public enum DeviceType
{
[Description("Set Top Box")]
Stb = 1,
Panel = 2,
Monitor = 3,
[Description("Wireless Keyboard")]
WirelessKeyboard = 4
}
Run Code Online (Sandbox Code Playgroud)
我正在利用该Description属性允许我提取更多用户可读的枚举版本以在UI中显示.我使用以下代码获得描述:
var fieldInfo = DeviceType.Stb.GetType().GetField(DeviceType.Stb.ToString());
var attributes = (DescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
var description = (attributes.Length > 0 ? attributes[0].Description : DeviceType.Stb.ToString());
Run Code Online (Sandbox Code Playgroud)
上面的代码将给我:description = "Set Top Box".如果没有Description设置属性,它将为我提供枚举的字符串值.
我现在想为每个枚举添加第二个/自定义属性(为了示例,称为"值").例如:
public enum DeviceType
{
[Description("Set Top Box")]
[Value("19.95")]
Stb = 1,
[Value("99")]
Panel = 2,
[Value("199.99")]
Monitor = 3,
[Description("Wireless Keyboard")]
[Value("20")]
WirelessKeyboard …Run Code Online (Sandbox Code Playgroud) 我目前有一个 MVC 应用程序,使用默认的“个人用户帐户”选项进行身份验证。这很好用,我能够根据用户角色创建用户、登录并限制对控制器的访问。
我有一个单独的 Web API 应用程序,目前不使用任何身份验证。
这两个应用程序都作为单独的站点托管在同一 IIS 服务器上。我想将来自 MVC 应用程序的身份验证合并到 Web API 应用程序中,因此在用户登录到 MVC 应用程序后,他们还可以根据用户角色访问 Web API 应用程序中的相应控制器。
从我一直在读,我需要设置<authentication mode='Forms'>在web.config这两个应用程序,因为他们是在同一台服务器上,验证自动在两者之间共享。我尝试[Authorize]在 Web API 应用程序的控制器中添加一个方法,通过 MVC 应用程序登录并尝试访问该方法,但从未输入该方法。
这就是我一直在看的:http : //www.bipinjoshi.net/articles/436bc727-6de2-4d11-9762-9ee1a1e3cbea.aspx
我在这里缺少什么?我希望有人能指出我正确的方向。
我正在使用PostgreSQL 9.3并具有以下表格(简化为仅显示相关字段):
SITES:
id
name
...
DEVICES:
id
site_id
mac_address UNIQUE
...
Run Code Online (Sandbox Code Playgroud)
给定mac_address一个特定的设备,我想得到相关的细节site.我有以下两个问题:
使用LEFT JOIN:
SELECT s.* FROM sites s
LEFT JOIN devices d ON s.id = d.site_id
WHERE d.mac_address = '00:00:00:00:00:00';
Run Code Online (Sandbox Code Playgroud)
使用SUBQUERY:
SELECT s.* FROM sites s
WHERE s.id IN (SELECT d.site_id FROM devices d WHERE d.mac_address = '00:00:00:00:00:00');
Run Code Online (Sandbox Code Playgroud)
在无限增长的数据库中,哪两个查询的性能最佳?我一直倾向于LEFT JOIN选择,但有兴趣知道两种速率在大型数据集上的表现如何.
采用以下示例类:
public class Questions
{
public Int32 QuestionId { get; set; }
public String Question { get; set; }
public String Answer { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
以下数组:
var questionArray = new Questions[]
{
new Questions {QuestionId = 1, Question = "How old are you?", Answer = "32"},
new Questions {QuestionId = 2, Question = "What is your name?", Answer = "John"},
new Questions {QuestionId = 3, Question = "How tall are you?", Answer = "6'"}
};
Run Code Online (Sandbox Code Playgroud)
使用LINQ,我想得到Answer指定的 …
c# ×3
arrays ×1
asp.net-mvc ×1
authorize ×1
class ×1
enums ×1
left-join ×1
linq ×1
object ×1
optimization ×1
performance ×1
postgresql ×1
subquery ×1