LINQ TO SQL项目实战---用户登录篇

    最近网上看了一些关于Linq to sql 方面的资料,怎么说呢,感觉网上写的都挺不错的,但总感觉, 那些仅仅是个例子,只能当练习用,如果真的当作项目作,你能放心通过拖拉,让系统生成代码的过程么?那样做,快是快了点,可如果你的系统稍微做点修改,你看到那些自动生成的代码,估计每个人都会晕,更别说修改了。     
 对数据库操作,一般我们都会用到用到用户登录这个模块,通过输入用户名、密码,进行验证,通过用户所属角色,对对用户进行相应的操作。由于考虑到系统的分层。因此将各个模块进行了独立(我系统架构学的也不是太好,有不好的地方,欢迎大家批评指正。)
 数据访问层(DAL):

using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Text;
using  System.Data.Linq;
using  System.Configuration;

namespace  Team.DBUtility
{
    
/// <summary>
    
/// 数据库底层操作类
    
/// </summary>

    public sealed  class DLinqHelper
    
{
        
/// <summary>
        
/// 连接数据库字符串
        
/// </summary>

        private static string ConnectionString = ConfigurationManager.ConnectionStrings["TeamConnectionString"].ConnectionString;
        
private static DataContext MyDataContext = new DataContext(ConnectionString);
        
        
/// <summary>
        
/// 获取数据内容
        
/// </summary>

        public static DataContext GetDataContext
        
{
            
get
            
{
                
return MyDataContext;
            }

        }
        
    }

}

为了简单,我建立的数据表包含的字段有用户姓名、用户登录代码,用户密码,用户角色字段。以下为用户登录信息表代码:

/*==============================================================*/
/* Table: USER_INFO                                             */
/*==============================================================*/
create   table  USER_INFO (
   NAME                 
varchar ( 100 )          not   null ,
   CODE                 
varchar ( 20 )           not   null ,
   ROLE                 
varchar ( 20 )           not   null ,
   PASSWORD             
varchar ( 20 )           not   null ,
   CONTENT              
varchar ( 100 )          null ,
   
constraint  PK_USER_INFO  primary   key   nonclustered  (CODE)
)
go

Linq To Sql 和NHibernate 差不多,说白了都是个O/R ,因此我们也需要一个类 对应数据表的映射文件。代码如下:

using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Text;
using  System.Data.Linq.Mapping;
using  System.Data.Linq;

namespace  Team.Model
{
    
/// <summary>
    
/// 登录用户信息
    
/// </summary>

    [Table(Name="User_Info")]
    
public class UserInfo
    
{
        
私有成员

        [Column(Name 
= "Name", DbType = "varchar(100) Not Null")]
        
public string Name
        
{
            
get
            
{
                
return _name;
            }

            
set
            
{
                _name 
= value;
            }

        }


        [Column(Name 
= "Code", IsPrimaryKey = true, DbType = "varchar(20) Not Null")]
        
public string Code
        
{
            
get
            
{
                
return _code;
            }

            
set
            
{
                _code 
= value;
            }

        }


        [Column(Name 
= "Role", DbType = "varchar(20) Not NUll")]
        
public string Role
        
{
            
get 
            
{
                
return  _role;
            }

            
set
            
{
                _role 
= value;
            }

        }



        [Column(Name 
= "Password", DbType = "varchar(20) Not NUll")]
        
public string Password
        
{
            
get
            
{
                
return _password;
            }

            
set
            
{
                _password 
= value;
            }

        }


        [Column(Name 
= "Content", DbType = "varchar(100) Null", CanBeNull = true)]
        
public string Content
        
{
            
get
            
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值