entity-framework – 使用F#和ASP.NET MVC保存EF
发布时间:2020-12-16 03:15:42 所属栏目:asp.Net 来源:网络整理
导读:基于 Daniel Mohl and his book的优秀样本. 我在F#中使用了ASP.NET MVC应用程序并使用了在线模板.到目前为止,我的模型,实体,控制器,存储库,视图…都非常通用和可重用,查询很棒.但我找不到一种方法来保存DbContext部分同样可以重复使用. 对于查询部分,Reposit
基于
Daniel Mohl and his book的优秀样本.
我在F#中使用了ASP.NET MVC应用程序并使用了在线模板.到目前为止,我的模型,实体,控制器,存储库,视图…都非常通用和可重用,查询很棒.但我找不到一种方法来保存DbContext部分同样可以重复使用. 对于查询部分,Repository.fs的代码如下 namespace Melopienso.Repositories open System open System.Linq module Repository = let get (source:IQueryable<_>) queryFn = queryFn source |> Seq.toList let getAll () = fun s -> query { for x in s do select x } let find filterPredFn = filterPredFn |> fun fn s -> query { for x in s do where (fn()) } let getTop rowCount = rowCount |> fun cnt s -> query { for x in s do take cnt } ………..(更多代码)……….. 在控制器中,我传递了所有必要的东西: namespace Melopienso.Controllers open System open System.Web.Mvc open Melopienso.Models open Melopienso.Repositories open Repository open Utils [<HandleError>] type CategoriesController(context:IDisposable,?repository) = inherit Controller() let fromRepository = match repository with | Some v -> v | _ -> (context :?> MelopiensoEntities).Categories |> Repository.get new() = new CategoriesController(new MelopiensoEntities()) member this.Index () = getAll() |> fromRepository |> this.View override x.Dispose disposing = context.Dispose() base.Dispose disposing [<HttpGet>] member this.Create () = this.View() ………..(更多代码)……….. 现在,保存问题的方法在于如何使其成为可重用的.如果我传递DbSet,我需要一种方法来调用上下文,我不知道如何从特定的DbSet中找到它(怀疑它甚至是可能的). 如果我同时传递DbContext和DbSet,我就不能做类似的事情了 use nameOfDbContext nameOfDbContext.NameOfDbSet.Add entity 我发现硬编码任何东西的唯一选择,但这似乎不对. 这是一个遗憾,但丹尼尔的伟大例子不是以“传统”EF方式进行保存部分并使用总线等,这很棒,但我首先希望基本应用程序完全正常工作,然后从那里改进Async控制器,邮箱等 任何暗示都将非常感激.干杯! 解决方法
为什么不能同时传递DbContext和DbSet,并使用DbContext进行保存,并直接访问DbSet(不要尝试通过DbContext)进行查询等?
如果您有类型,也可以从DbContext获取DbSet,这也可能有所帮助: myDbContext.Set<'a>() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ASP.NET MVC:路由到URL
- .NET Core多平台开发体验[1]: Windows
- asp.net – 无法将HttpHandler映射到“路径/ *”通配符映射
- asp.net-mvc – 异步HttpModule MVC
- .net – MVC中的Pdf Viewer在View中显示pdf内容
- asp.net-mvc – System.NotSupportedException:不支持指定
- asp.net-mvc – 自动捆绑/缩小是否已在最终版本的MVC 4中获
- asp.net-mvc – 如果我使用ASP .NET MVC 3,我可以安全地从V
- 从ASP.Net MVC访问Active Directory使用C#
- asp.net-mvc – ASP.NET Core中基于活动的授权
推荐文章
站长推荐
- asp.net-mvc-4 – 哪个machineKey配置更好?
- asp.net-mvc – 与程序包管理器控制台中的实体框
- asp.net – 从代码后面添加文本框服务器控件?
- 我应该为ASP.net创建一个JQuery服务器控件,以便在
- asp.net – dropdownlist在页面重新加载时不会重
- asp.net – 如何使用SMTP通过Exchange Server发送
- asp.net-mvc-3 – 存储库模式和Azure表存储(???)
- [WCF REST] 通过ASP.NET Output Caching实现声明
- asp.net-mvc-2 – 实体框架4 CTP 4/CTP 5通用存储
- asp.net MVC 权限设计 asp.net MVC 权
热点阅读