豆瓣电台WP7客户端 开发记录3

今天完成了收藏功能。本来想用豆瓣账号登陆获取收藏列表的,不过后来一想我只要把歌曲信息记录在本地不是简单多了么。况且mango已经支持本地数据库,更能实践一下。

下面说说mango本地数据库开发。

这个其实如果你用过Linq to sql的话就很容易使用它了。

首先我们需要一个类来继承DbConent

using  Model;
using  System.Data.Linq;

namespace  DbContent
{
    
public   class  DBFMDB :DataContext
    {
        
public   static   string  _connStr  =   " Data Source=isostore:/FavSong.sdf " ;

        
public  DBFMDB( string  connStr)
            : 
base (connStr)
        { }

        
public  Table < dbSong >  favSong;
    }
}
这里千万注意 
public Table<dbSong> favSong;

你不能写成  

public Table<dbSong> favSong{get;set;},不然报错!为什么?我也不知道。

 

Model类:

using  System.Data.Linq.Mapping;

namespace  Model
{
    [Table]
    
public   class  dbSong 
    {
        
private   int  _id;
        [Column(IsPrimaryKey
= true ,
            IsDbGenerated 
=   true ,
            DbType 
=   " INT NOT NULL Identity " ,
            CanBeNull
= false ,
            AutoSync
= AutoSync.OnInsert)]
        
public   int  ID
        { 
get  {  return  _id; }  set  { _id  =  value; } }

        
private   string  _url;
        
///   <summary>
        
///  MP3 URL
        
///   </summary>
        [Column]
        
public   string  url
        { 
 

get { returnthis._url; } 

set { _url =value; }

 }

。。。。

 这里同上, 你不能写成 public string url {get;set;} 一定要像.NET 2.0的时候那样写属性。不然报错。为什么?我还是不知道。

 

最后是数据库操作类:

 using System.Data.Linq;

using  System.Linq;
using  DbContent;
using  Model;
using  System.Collections.Generic;

namespace  Helper
{
    
public   class  DbHelper
    {
        
private   static  DBFMDB db;
        
///   <summary>
        
///  创建
        
///   </summary>
         public   static   void  CreateDb()
        {
           
if (db == null )
            {
                db 
=   new  DBFMDB(DBFMDB._connStr);
            }

           
if  ( ! db.DatabaseExists())
           {
               db.CreateDatabase();
           }
            
        }

        
public   static   void  AddSong(dbSong song)
        {

            db.favSong.InsertOnSubmit(
song );
            db.SubmitChanges();
        }

        
public   static   void  DelSong(dbSong song)
        {
            dbSong oldS 
=  db.favSong.Single(s  =>  s.url  ==  song.url);
            db.favSong.DeleteOnSubmit(oldS);
            db.SubmitChanges();
        }

        
public   static  List < dbSong >  GetFavSongList()
        {
            var list 
=  db.favSong.ToList();
            
return  list;
        }

        
public   static   bool  IsFavSong(dbSong song)
        {
            var obj 
=  db.favSong.Where(o => o.url == song.url);
            
if  (obj  !=   null && obj.Count() > 0 )
                
return   true ;
            
else
                
return   false ;
        }
    }

} 

这个就没什么好说的了~~

收工睡觉~~~ 

转载于:https://www.cnblogs.com/kklldog/archive/2011/09/01/2161492.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值