alinq mysql_Linq to MySQL 存储的使用

下面主要介绍 Linq to MySQL (ALinq for MySQL),如果你还不知道 ALinq 是什么,请点击这里。

完整的 Sample 位于 ALinq 的安装目录下的子目录 Samples\CSharpe\OracleSamples.zip 或 Samples\VB\OracleSamples.zip 。

Sample 的使用:打开该工程,然后运行 Sample3_StoreProcedure ,然后点击 Create Procedure 按钮创建存储过程。

e9634a0ed9d8450926cdfd0b136e1815.png

示例1:

步骤一:在数据库中创建存储过程,下面这个存储过程是用来添加一个 Category 到数据库中。

CREATEPROCEDUREADD_CATEGORY(INCATEGORY_NAMEVARCHAR(30),INCATEGORY_DESCRIPTIONTEXT)BEGININSERTINTOCATEGORIES (CategoryName, Description)Values(category_name, category_description);END

步骤二:将存储过程映射到 DataContext 实体类中的方法函数。

[Function(Name="ADD_CATEGORY")]publicvoidAddCategory(

[Parameter(Name="CATEGORY_NAME")]stringname,

[Parameter(Name="CATEGORY_DESCRIPTION")]stringdescription)

{

ExecuteMethodCall(this, (MethodInfo)MethodBase.GetCurrentMethod(), name, description);

}

步骤三:调用方法函数

var db=CreateDatabaseInstance();

db.AddCategory(txtCategoryName.Text,"Description");

示例二:

步骤一:创建存储过程,下面这个存储过程,是用来获取 Categories 的数量,并赋值给 RETURN_VALUE 参数。

CREATEPROCEDUREGET_CATEGORIES_COUNT(OUT RETURN_VALUEINT)BEGINSELECTCOUNT(*)INTORETURN_VALUEFROMCATEGORIES;END

步骤二:将存储过程映射到 DataContext 实体类中的方法函数。由于存储过程中的 RETURN_VALUE 参数为 out,因此,和该参数对应的,方法函数( GetCategoriesCount ) 中的 count 参数也应该设为 out 。

[Function(Name="GET_CATEGORIES_COUNT")]publicvoidGetCategoriesCount(

[Parameter(Name="RETURN_VALUE")]outintcount)

{

count=0;

var result=ExecuteMethodCall(this, (MethodInfo)MethodBase.GetCurrentMethod(), count);

count=(int)result.GetParameterValue(0);

}

步骤三:调用方法函数

intcount;

db.GetCategoriesCount(outcount);

示例三:

步骤一:在数据库中创建如下存储过程,该存储过程是通过 CATEGORY_ID 来获得 Categry 记录中的 CategoryName,并且值赋给 RETURN_VALUE 参数 。

CREATEPROCEDUREGET_CATEGORY_NAME(CATEGORY_IDINT, OUT RETURN_VALUEVARCHAR(30))BEGINSELECTCATEGORYNAMEINTORETURN_VALUEFROMCATEGORIESWHERECATEGORYID=CATEGORY_ID;END

步骤二:将存储过程映射到 DataContext 实体类中的方法函数。

[Function(Name="GET_CATEGORY_NAME")]publicvoidGetCategoryName(

[Parameter(Name="CATEGORY_ID")]intid,

[Parameter(Name="RETURN_VALUE")]outstringname)

{

name=null;

var result=ExecuteMethodCall(this, (MethodInfo)MethodBase.GetCurrentMethod(), id, name);

name=(string)result.GetParameterValue(1);

}

步骤三:调用方法函数

stringname;

db.GetCategoryName(Convert.ToInt32(txtCategorID.Text),outname);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值