C# EF框架调用数据库的函数
1.在数据库中创建一个自定义函数:
REATE FUNCTION [dbo].[f_IsOriginsDisabled]
(
@origins varchar(50),
@needPPTV bit
)
RETURNS bit
AS
BEGIN
if @origins=''
begin
RETURN 1;
end declare @disables varchar(50);
set @disables=''; if @needPPTV=0
begin
set @disables = @disables + ',6';
end select @disables = @disables + ',' + CAST(Id AS varchar(50)) + ',' from Video_Origin
where IsDel=0 and IsEnabled=0 DECLARE @ix int, @pos int, @str varchar(1000);
SET @pos = 1;
SET @ix = 1; WHILE @ix > 0
BEGIN
SET @ix = charindex(',', @origins, @pos)
IF @ix > 0
SET @str = substring(@origins, @pos, @ix - @pos);
ELSE
SET @str = substring(@origins, @pos, len(@origins));
SET @str = ltrim(rtrim(@str));
if charindex(','+@str+',',@disables)<=0
return 0;
SET @pos = @ix + 1;
END RETURN 1; END GO
2.创建EF的数据库上下文:
引用 EntityFramework.Functions程序集
public class MediaDBContext : DbContext, IDisposable
{ public MediaDBContext() : base("MediaDBContext") { } protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Conventions.Add(new FunctionConvention<MediaDBContext>());
} /// <summary>
/// 判断当前源是否全部失效
/// </summary>
/// <param name="origins">视频源</param>
/// <param name="needPPTV">是否需要PPTV源</param>
/// <returns></returns>
[Function(FunctionType.ComposableScalarValuedFunction, "f_IsOriginsDisabled", Schema = "dbo")]
[return: Parameter(DbType = "bit")]
public bool IsOriginsDisabled([Parameter(DbType = "varchar")]string origins, [Parameter(DbType = "bit")]bool needPPTV)
{
return Function.CallNotSupported<bool>();
}
}
3.调用方式:
var query = context.Movies .Where(m => !context.IsOriginsDisabled(m.Origins, hasPPTV);
上面步骤已经使用EF调用数据库的函数了。
4.详细介绍EF怎样调用数据库中的存储过程与函数文档说明:
https://weblogs.asp.net/dixin/entityframework.functions
C# EF框架调用数据库的函数的更多相关文章
- 在ASP.NET Core 中怎样使用 EF 框架读取数据库数据
添加测试数据 我们首先使用 SQLite Studio 添加三条数据 ID Name 1 李白 2 杜甫 3 白居易 使用 SQLite Studio 打开我们的 blogging.db 数据库,双击 ...
- SqlFunctions 可以在EF种调用sqlserver的函数
在EF5环境下,首先添加EF环境,在引用中添加Syste.Data.Entity,再添加命名空间 using System.Data.Objects.SqlClient; 然后写一个控制器测试 pub ...
- 调用数据库过程函数mysql
Connection conn=JdbcUtil.getConnection();//JdbcUtil是我写的获取connection的工具类 CallableStatement cast=conn. ...
- 使用T4模板为EF框架添加数据库实体注释
网上有一个解决方法如下: http://www.cnblogs.com/stone_w/archive/2012/10/25/2738345.html 不过我试了下没解决太麻烦了 而且一旦EF要重新生 ...
- .NET CORE EF 框架调用存储过程
; //多个参数多表组合值 SqlParameter[] Param = { new SqlParameter("@UserId", System.Data.SqlDbType.V ...
- 使用T4模板为EF框架添加数据库实体注释(转)
1. 下载文件GetSummery.ttinclude2. 把我们下载下来的文件解压,将解压出来的文件放入解决方案中3. 修改下app.config,添加一个连接字符串: <add name=& ...
- 转:EF调用存储过程、函数
EF调用存储过程.函数 2014-04-02 09:12:20| 分类: ORM框架|举报|字号 订阅 一.ef4.1 codeFirst 修改表结构 增加字段等 EF code ...
- 动态切换数据库(EF框架)
文章简略:本文测试项目为Silverlight+EF+RIA Service动态切换数据库的问题 通常,Ado.net EntityFramework的数据库连接字符串Connect ...
- C# CodeFirst(EF框架)代码优先创建数据库
namespace WebEF.Model{ public class ModelContext:DbContext //继承DBcontext 来自EF框架 { public ModelContex ...
随机推荐
- Wannafly挑战赛29-A御坂美琴 (dfs+map)
链接:https://ac.nowcoder.com/acm/contest/271/A来源:牛客网 御坂美琴 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言 ...
- Python3 与 C# 面向对象之~异常相关
周末多码文,昨天晚上一篇,今天再来一篇: 在线编程:https://mybinder.org/v2/gh/lotapp/BaseCode/master 在线预览:http://github.les ...
- docker 使用指南
Compose is a tool for defining and running multi-container Docker applications. With Compose, you us ...
- Git设置彩色输出
彩色输出 git config --global color.status auto git config --global color.diff auto git config --global c ...
- C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码
本文介绍在 C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码.网上文章大多只是简单介绍内置参数的设置,根据我的使用目的,增加了自定义目标二维码图片尺寸和白边 ...
- 编译:ffmpeg,精简ffmpeg.exe
网上下载的各种 ffmpeg.exe ,最少都有11M+ 而我只需要处理 mp4 和 mp3,在网上搜索了一下精简ffmpeg的文章,折腾一天,也没有完全搞定,但多少有些收获,记录一下: 从 www. ...
- Python之模块和包
一.模块 1.什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编 ...
- 兄弟连Linux运维学习笔记
最新经典linux运维兄弟连Linux运维学习笔记... --------------- 全程1.5倍播放.加油我一定可以学完Linux----------------------Unix与Linux ...
- django新建项目
命令: django-admin startproject 项目名 pycharm创建: 1. File --> New project --> 左侧选Django --> 右侧填项 ...
- python kafka
转载:https://zhuanlan.zhihu.com/p/31731892 https://kafka-python.readthedocs.io/en/master/usage.html