溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

linq關(guān)系映射(1)

發(fā)布時(shí)間:2020-07-07 11:10:01 來(lái)源:網(wǎng)絡(luò) 閱讀:329 作者:Aonaufly 欄目:編程語(yǔ)言

linq關(guān)系映射(1)

C#的這種entity 很像Annotation java的寫(xiě)法..

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Linq;
using System.Data.Linq.Mapping;
namespace LinqObject.models
{
    [Table(Name = "Player")]
    public class PlayerInfoVO
    {
                         
        private string name;
        [Column(Name="name")]
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
                         
        private int id;
        [Column(IsPrimaryKey=true,Name="id")]
        public int Id
        {
            get { return id; }
            set { id = value; }
        }
                         
        private int level;
        [Column(Name = "level_id")]
        public int Level
        {
            get { return level; }
            set { level = value; }
        }
        private EntityRef<MyLevel> _myLevel;
        [Association(Storage="_myLevel",ThisKey="level_id")]
        public EntityRef<MyLevel> _MyLevel
        {
            get { return _myLevel; }
            set { _myLevel = value; }
        }
    }
}

主表:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Linq;
using System.Data.Linq.Mapping;
namespace LinqObject.models{
    [Table(Name="myLevel")]
    public class MyLevel{
        private int id;
        [Column(IsPrimaryKey=true,Name="id")]
        public int Id
        {
            get { return id; }
            set { id = value; }
        }
        private string name;
        [Column(Name="name")]
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        private EntitySet<PlayerInfoVO> player;
        [Association(Storage = "player", OtherKey = "Id")]
        public EntitySet<PlayerInfoVO> Player
        {
            get { return player; }
            set { player = value; }
        }
                     
    }
}

刪除 操作 :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using LinqObject.models;
namespace LinqObject.mylinq{
    public class ConflictLinq{
        public void updatePlayer(int id, string name) {
            AINYLinq db = new AINYLinq(@"Data Source=AONAUFLY\SQLEXPRESS;Initial Catalog=MyLINQ;User ID=sa;Password=******");
            IQueryable<MyLevel> myList = from o in db.myLevel
                         where o.Id == 0 && o.Name == "Aonaufly"
                         select o;
            foreach (var o in myList) {
                Console.WriteLine("Ainy------------------------");
                db.myLevel.DeleteOnSubmit(o);
            }
            Console.WriteLine("detail section finished.");
            Console.ReadLine();
            if (myList.Any())
            {
                Console.WriteLine("The parent is presesnt in the Orders collection.");
                try
                {
                    var ordF = (from o in db.myLevel
                                where o.Id == 0
                                select o).First();
                    db.myLevel.DeleteOnSubmit(ordF);
                    Console.WriteLine(ordF.Name);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    Console.ReadLine();
                }
            }
            else {
                Console.WriteLine("There was no parent in the myLevel");
            }
            try
            {
                db.SubmitChanges();
            }
            catch (Exception e) {
                Console.WriteLine(e.Message);
                Console.ReadLine();
            }
        }
    }
}


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI