小编Pra*_*een的帖子

Razor可以与visual studio 2008一起使用吗?

Scott Gu在他的博客文章中没有谈到这一点.在vs 2008上是否会有剃须刀的智能支持?MS通过如此频繁地发布主要升级给每个人一个艰难的时间:D

razor asp.net-mvc-3

19
推荐指数
1
解决办法
1万
查看次数

在LINQ查询中调用SQL用户定义的函数

我很难让这个工作.我正在尝试使用IQueryable上的以下Filter助手进行半径搜索.在应用RadiusSearch之前,还有一组其他过滤器已应用.顺序不应该真正重要,因为目标是将查询延迟到ToList()操作.

public static IQueryable<ApiSearchCommunity> RadiusSearch(this IQueryable<ApiSearchCommunity> communities)
{
    var centerLatitude = 30.421278;
    var centerLongitude = -97.426261;
    var radius = 25;

    return communities.Select(c => new ApiSearchCommunity()
    {
        CommunityId = c.CommunityId,
        City = c.City,
        //Distance = c.GetArcDistance(centerLatitude, centerLongitude, c.Latitude, c.Longitude, radius)
    });
}
Run Code Online (Sandbox Code Playgroud)

我可以以某种方式编写一个像GetArcDistance这样的帮助程序,然后在SQL上调用UDF吗?我想要生成的查询如下

SELECT 
    comms.community_id, 
    comms.city, 
    comms.distance 
FROM (
    SELECT 
        c.community_id, 
        c.city, 
        dbo.udf_ArcDistance(
            30.421278,-97.426261, 
            c.community_latitude,
            c.community_longitude
        ) AS distance 
    FROM communities c) AS comms 
WHERE comms.distance <= 25 
ORDER BY comms.distance
Run Code Online (Sandbox Code Playgroud)

c# sql linq linq-to-entities entity-framework

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

单元测试操作过滤器 - 如何模拟ViewResult

我在SO上进行了搜索,看起来这个问题经常被问到.我已经能够使模拟工作,我也能够执行OnActionExecuted()而没有任何问题.这是我的单元测试.评论的行是失败的,我敢肯定我没有嘲笑正确的类型.

        //Arrange
        //var viewResult = new ViewResult();
        var filterContextMock = new Mock<ActionExecutedContext>();
        var routeData = new RouteData();
        var httpContextMock = new Mock<HttpContextBase>();

        routeData.Values["data"] = "Mock data";
        var requestContext = new RequestContext(httpContextMock.Object, routeData);

        var controller = new FakeController();
        controller.ControllerContext = new ControllerContext(requestContext, controller);

        filterContextMock.Setup(f => f.RouteData).Returns(routeData);
        filterContextMock.Setup(f => f.Controller).Returns(controller);
        //filterContextMock.Setup(f => f.Result).Returns(viewResult);

        //Act
        var wrapFilterAttribute = new WrapFilterAttribute();
        wrapFilterAttribute.OnActionExecuted(filterContextMock.Object);
Run Code Online (Sandbox Code Playgroud)

这是我的动作过滤器.

public class WrapFilterAttribute : ActionFilterAttribute
{
    public override void OnActionExecuted(ActionExecutedContext filterContext)
    {
        var view = (ViewResultBase)filterContext.Result;

        if (view != null)
        { …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc

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

实体框架:针对现有数据库方案进行建模

我已经对这个问题感到震惊了一个多星期了,并且没有得到任何结果:(我们现有的遗留数据库,我正在尝试对我的实体进行建模.这些表非常臃肿,我们没有足够的用于创建新的优化表的带宽.所以我不得不使用我们已经拥有的东西.但是,我不想使用DB公开的所有冗余列.我的初步计划是在我的模型中使用Views但是看起来同样毛茸茸,只有很少的文档.

现在,用几个列选择创建模型的最佳方法是什么?我只需要一堆只读实体; 所以,如果有一种方法可以忽略架构中的非可空列,我将全部设置好.我计划使用POCO,否则我必须创建自己的映射.

更新:通过POCO,我的意思是我想使用ADO.NET POCO实体生成器.

entity-framework

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

属性注入动作过滤器

我正在尝试使用Property Injection处理自定义操作过滤器属性.它本来应该工作,但是,我想在Property本身上使用DI.我的过滤器看起来像这样

[AttributeUsage(AttributeTargets.Class)]
public sealed class HeaderFilterAttribute : ActionFilterAttribute
{
    public IMarketService MarketService
    { get; set; }

    public override void OnActionExecuted(ActionExecutedContext filterContext)
    {
        var view = (ViewResultBase)filterContext.Result;

        if (view != null)
        {
            BaseViewModel viewModel = view.ViewData.Model as BaseViewModel;
            if (viewModel != null)
                viewModel.Header = GetHeaderScript();
        }
        base.OnActionExecuted(filterContext);
    }

   private string GetHeaderScript()
   {
     //Use MarketService here and return header script
     return "script";
   }
}
Run Code Online (Sandbox Code Playgroud)

这就是我在BootStrapper类中使用StructureMap配置属性的方法.

            //HeaderFilterAttribute
        IMarketRepository marketRepository = new SqlMarketRepository();
        IMarketService marketService = new MarketService(marketRepository);
        ObjectFactory.Container.Configure(r => r.ForConcreteType<HeaderFilterAttribute>().
                                          Configure.WithProperty("MarketService").
                                          EqualTo(marketService)); …
Run Code Online (Sandbox Code Playgroud)

c# structuremap dependency-injection asp.net-mvc-2

5
推荐指数
1
解决办法
1344
查看次数