我希望能够
我看到了检查用户是否处于特定角色的方法,但我不关心他们参与的角色.数据库将知道允许哪些角色查看哪些数据.我需要向数据服务提交这些角色的集合,以根据这些角色过滤数据.
那么第一步是如何在控制器方法中获得与当前用户关联的所有角色?
编辑:
这似乎很好地解决了:
Roles.GetRolesForUser(User.Identity.Name)
Run Code Online (Sandbox Code Playgroud)
支持答案仍然欢迎.
我想创建一个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) 我们的客户希望按记录创建日期订购.对我来说,这似乎是一个系统变量,记录本身的某种元数据.
有没有办法告诉创建记录什么时候没有实际创建一个默认为GetDate()的日期时间字段,并希望没有人修改它?
这失败了 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)
有没有办法让三元运算符成功?
我有一个工作单元和一个使用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)
它有效...为什么?
打印时执行分页符的CSS代码是什么?或者更好的是,有一些像JQuery这样的打印CSS框架是对网页DOM操作吗?我需要打印像Adobe PDF这样的控件的网页,但不使用第三方插件.打印需要精确,例如控制每个页面顶部的像素,(例如,如果我们想在每个页面标题上放置我们的徽标).
有任何想法吗?
我们客户的数据库在数组中返回一组价格,但有时它们不包括所有价格,即它们的数组中缺少元素.我们返回我们发现的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) 客户的数据中有快捷方式,他们在一个字段中有大量记录.当我解析它们时,我需要制作记录,每个数量一个,将"标识符"增加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 …
我们的客户宣传产品,但产品的属性彼此差异很大.产品"类"几乎和产品一样多.
最初,我们创建了一个EAV数据库,我们为每个"类"产品添加和删除了属性.整个过程非常有效,但复杂性令人头脑麻木. 这是数据库#1.
我们最终提出了一组共同代表所有产品(POCO)的字段,将"额外"字段移动到XML字段"catch all". 这是数据库#2.
现在我们有一些客户使用旧的和一些将使用新的客户.我们真的不想更新旧版本,直到我们需要这样做,但由于EAV结构的原因,我们不时需要更换时间.
问题:
正常当然是指Boyce Codd Normal Form.
我们通过将其结构放入软件,然后映射到存储库中的POCO来处理旧数据库.
我们有一个很好的软件基础,基于Microsoft MVC 2,实体框架4,存储库,POCO,服务和控制层,C#视图,JQuery和html.Firefox在250毫秒内提取100条记录,将其放入模板,将数据链接到标记,然后我们坐下来喝玛格丽塔酒.
Boss走进来说他想要一个iPhone应用程序.我打赌我们也需要一个Android应用程序.
我们可以使用哪些框架轻松地从我们的微软舒适区跳到Apple iPhone/iPad的广泛世界,以及后续的Android宝贝.
我想我们可以使用我们的JSON控制器方法进行通信. 是否有某种类型的客户端JavaScript消费应用程序框架,我们可以得到一个合理的网站,如界面重新工作? 他们不喜欢简单地在Safari中运行整个东西的想法,这非常有效.
需求:
我们用了两年时间,使用MVC和Javascript整合了设计模式,敏捷方法和Domain Driven概念.我们可能需要两到三个月才能重新生成相同的功能.
c# ×5
sql ×2
android ×1
asp.net-4.0 ×1
cross-apply ×1
css ×1
html ×1
ilist ×1
iphone ×1
iqueryable ×1
linq-to-sql ×1
pivot ×1
poco ×1
printing ×1
repository ×1