小编Zac*_*ott的帖子

ASP.NET MVC 3:如何在控制器方法中获得用户的角色?

我希望能够

  1. 获取当前经过身份验证的用户的角色列表.
  2. 根据角色过滤提供给该用户的数据.

我看到了检查用户是否处于特定角色的方法,但我不关心他们参与的角色.数据库将知道允许哪些角色查看哪些数据.我需要向数据服务提交这些角色的集合,以根据这些角色过滤数据.

那么第一步是如何在控制器方法中获得与当前用户关联的所有角色?

编辑:

这似乎很好地解决了:

Roles.GetRolesForUser(User.Identity.Name)
Run Code Online (Sandbox Code Playgroud)

支持答案仍然欢迎.

authorization asp.net-membership asp.net-4.0 asp.net-mvc-3

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

ASP.MVC:反映IQueryable而不是Linq to SQL的存储库,DDD如何提问

我想创建一个DDD存储库,它返回与Linq到SQL基础类匹配的IQueryable实体,减去任何关系.我可以轻松地返回实体减去与Linq选择新{field,field,...}投影的关系.如何编写Repository Entity类?如何从具有存储库类而不是Linq to SQL类的存储库中返回一个对象,并且仍然使用Linq选择中的多个实体填充它?我如何在ViewModel中引用此返回的类?

我对此很新,因此显而易见的错误.我是否错过了船,只应从存储库返回完整的实体,而不是投影?在从存储库发送之前,我仍然需要删除Linq to SQL关系.我完全不在基地吗?我真的想保留IQueryable数据类型.

例如,我的存储库中的Linq to SQL代码:

public class MiniProduct
{
    public MiniProduct( string ProductNo, string Name, string Description, double Price)
    {    this.ProductNo = ProductNo;
         this.Name = Name;
         this.Description = Description;
         this.Price = Price;
    }
}

public IQueryable<MiniProduct> GetProductsByCategory( string productCategory)
{
    return ( from p in db.Products
             from c in db.Categories
             from pc in db.ProductCategories
             where c.CategoryName == productCategory &&
                   c.CatID == pc.CatID &&
                   pc.ProductID == p.ProductID
             select new { p.ProductNo, p.Name, p.Description, p.Price } ); …
Run Code Online (Sandbox Code Playgroud)

domain-driven-design iqueryable repository linq-to-sql

12
推荐指数
2
解决办法
5241
查看次数

Microsoft SQL Server:任何方式来判断创建记录的时间?

我们的客户希望按记录创建日期订购.对我来说,这似乎是一个系统变量,记录本身的某种元数据.

有没有办法告诉创建记录什么时候没有实际创建一个默认为GetDate()的日期时间字段,并希望没有人修改它?

sql sql-server-2005

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

为什么在三元运算符中赋值null失败:null和int之间没有隐式转换?

这失败了 There is no implicit conversion between 'null' and 'int'

long? myVar = Int64.Parse( myOtherVar) == 0 ? null : Int64.Parse( myOtherVar);
Run Code Online (Sandbox Code Playgroud)

但是,这成功了:

if( Int64.Parse( myOtherVar) == 0)
    myVar = null;
else
    myVar = Int64.Parse( myOtherVar);
Run Code Online (Sandbox Code Playgroud)

有没有办法让三元运算符成功?

c# ternary-operator

11
推荐指数
1
解决办法
6264
查看次数

帮助我理解"LINQ to Entities仅支持转换实体数据模型基元类型"

我有一个工作单元和一个使用EF 4和POCO的存储库.由于EF在Skip()和Take()之前需要一个有序集,我添加了以下单元测试(没有模拟)只是为了拉出一条记录来查看它是否有效.

var myList = UOW.EntityRepo.Get( orderbyLambda: p => p.ID, page: 1, pageSize: 1);
Run Code Online (Sandbox Code Playgroud)

这导致orderbyLambda = {p => Convert(p.ID)}枚举期间的表达和错误.ID是tinyint(Int16 /短)

那么为什么ID无法订购呢?更多关于错误的信息

Unable to cast the type 'System.Int16' to type 'System.Object'.

我将orderbyLambda定义为 Expression<Func<E, object>> orderbyLambda

编辑:

真正的杀手是如果我这样做:

 orderbyLambda:  p => new { p.ID }
Run Code Online (Sandbox Code Playgroud)

它有效...为什么?

c# entity-framework-4

10
推荐指数
1
解决办法
7050
查看次数

打印网页的分页符是什么CSS代码?

打印时执行分页符的CSS代码是什么?或者更好的是,有一些像JQuery这样的打印CSS框架是对网页DOM操作吗?我需要打印像Adobe PDF这样的控件的网页,但不使用第三方插件.打印需要精确,例如控制每个页面顶部的像素,(例如,如果我们想在每个页面标题上放置我们的徽标).

有任何想法吗?

html css printing

9
推荐指数
2
解决办法
5152
查看次数

将IList项添加到特定索引号

我们客户的数据库在数组中返回一组价格,但有时它们不包括所有价格,即它们的数组中缺少元素.我们返回我们发现的IList,当我们从数据库中检索内容时,它非常有用.但是,我们很难将元素设置在数组中的适当位置.

是否可以创建IList然后在IList中的特定位置添加元素?

var myList = new List<Model>();
var myModel = new Model();
myList[3] = myModel;  // Something like what we would want to do
Run Code Online (Sandbox Code Playgroud)

c# ilist

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

疯狂的SQL问题:如何使用数据透视交叉应用?

客户的数据中有快捷方式,他们在一个字段中有大量记录.当我解析它们时,我需要制作记录,每个数量一个,将"标识符"增加7天(因为数字表示日期.

例如:单个产品销售四周,我需要四个记录,每周一件产品.

 [Event Number]   [Classification]   [Weeks Running]    [Some Data]  
 2009 11 29 00           1                   1         runs one week 
 2009 12 06 00           2                   1         runs one week 
 2009 12 13 00           1                   4        runs four weeks
 2009 12 20 00           2                   4        runs four weeks

不知何故,我需要将这些数据转换为以下视图(sql select)(所有在同一个表中,包含空格以查看部分:

 [Event Number + Classification]      [Some Data]    
          2009 11 29 01            runs for one week 一周就有一个记录.
          2009 12 06 02            runs for one week 

          2009 12 13 01           runs for four weeks …

sql pivot cross-apply

8
推荐指数
1
解决办法
844
查看次数

实体框架4的示例:将POCO映射到EAV数据库?

我们的客户宣传产品,但产品的属性彼此差异很大.产品"类"几乎和产品一样多.

最初,我们创建了一个EAV数据库,我们为每个"类"产品添加和删除了属性.整个过程非常有效,但复杂性令人头脑麻木. 这是数据库#1.

我们最终提出了一组共同​​代表所有产品(POCO)的字段,将"额外"字段移动到XML字段"catch all". 这是数据库#2.

现在我们有一些客户使用旧的和一些将使用新的客户.我们真的不想更新旧版本,直到我们需要这样做,但由于EAV结构的原因,我们不时需要更换时间.

问题:

  1. 有关如何编写EF以将POCO持久保存到EAV数据库的任何示例(其中您有一个字段名称表和一个数据表)?
  2. 我们是否应该废弃数据库并为所有老客户编写"正常"表格,因为我们不时会有变化?

正常当然是指Boyce Codd Normal Form.
我们通过将其结构放入软件,然后映射到存储库中的POCO来处理旧数据库.

c# poco entity-framework-4

8
推荐指数
1
解决办法
4588
查看次数

Boss说"我们需要一个iPhone应用程序",哪些框架类似于Firefox,JQuery,模板和iPhone上的数据链接?

我们有一个很好的软件基础,​​基于Microsoft MVC 2,实体框架4,存储库,POCO,服务和控制层,C#视图,JQuery和html.Firefox在250毫秒内提取100条记录,将其放入模板,将数据链接到标记,然后我们坐下来喝玛格丽塔酒.

Boss走进来说他想要一个iPhone应用程序.我打赌我们也需要一个Android应用程序.

我们可以使用哪些框架轻松地从我们的微软舒适区跳到Apple iPhone/iPad的广泛世界,以及后续的Android宝贝.

我想我们可以使用我们的JSON控制器方法进行通信. 是否有某种类型的客户端JavaScript消费应用程序框架,我们可以得到一个合理的网站,如界面重新工作? 他们不喜欢简单地在Safari中运行整个东西的想法,这非常有效.

需求:

  • 发送和接收JSON对象
  • 某种类型的模板引擎,所以我们可以将对象配对到标记,或者至少是某种方式将设计与编程分开
  • 类似于JQuery的东西会很好
  • 一个很好的编辑器,具有自动完成和突出显示功能,与VS2010相比

我们用了两年时间,使用MVC和Javascript整合了设计模式,敏捷方法和Domain Driven概念.我们可能需要两到三个月才能重新生成相同的功能.

c# iphone android asp.net-mvc-2

8
推荐指数
1
解决办法
440
查看次数