一、首先,新建一个Sql Server Database工程:

执行存储过程:

二、右键项目,添加一个SQL CLR C#的Stored Procedure
三、存储过程示例:
//------------------------------------------------------------------------------
// <copyright file="CSSqlStoredProcedure.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
public partial class StoredProcedures
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void test ()
{
SqlConnection con = new SqlConnection("context connection = true");
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "select * from people";
SqlDataReader reader = cmd.ExecuteReader();
SqlContext.Pipe.Send(reader);
reader.Close();
con.Close();
}
}
四、修改权限
右键项目的Properites进 入SQLCLR->Permission level:
将此值改为SAFE
五、配置数据库
Properties->Debug->Target Connection String
点击Edit,选择数据库引擎与数据库
六、按(运行)Ctrl+F5就可以发布到数据库
在Sql Server Management Studio就可以将存储过程发布到数据库
七、为使用数据库引擎能够打开CLR,执行如下命令:
EXEC sp_configure "clr enabled", 1; //1表示打开CLR,0表示关闭CLR
RECONFIGURE WITH OVERRIDE;
八、测试
利用常规查找Perple表,
执行存储过程:
当然,这个存储过程很简单,说实在的,还不如用Sql直接来写。我接下来将尝试能否将Linq、Code First也加进来。