前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >豆瓣电台WP7客户端 开发记录3

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

作者头像
MJ.Zhou
发布2022-05-07 16:04:32
2180
发布2022-05-07 16:04:32
举报
文章被收录于专栏:.NET开发那点事.NET开发那点事

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

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

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

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

代码语言:javascript
复制
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类:

代码语言:javascript
复制
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;

代码语言:javascript
复制
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;
        }
    }

}

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

收工睡觉~~~ 

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2011-09-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档