使用EF进行简单的增删改查

 

CREATE TABLE `objinfo` (
`Id` int(11) NOT NULL,
`ObjName` varchar(255) DEFAULT NULL,
`ObjType` int(255) DEFAULT NULL,
`ObjPrice` decimal(10,0) DEFAULT NULL,
`ObjSellPrice` decimal(10,0) DEFAULT NULL,
`ObjIcon` varchar(255) DEFAULT NULL,
`AddAttack` int(255) DEFAULT NULL,
`AddDefence` int(255) DEFAULT NULL,
`AddTili` int(255) DEFAULT NULL,
`AddExp` int(255) DEFAULT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  

  private static void Add()
        {
            arpgdbEntities dbContext = new arpgdbEntities();
            objinfo obj = new objinfo
            {
                AddDefence = 1,
                AddAttack = 2,
                AddExp = 3,
                AddTili = 4,
                Id = 6,
                ObjIcon = "",
                ObjName = "青铜戒指",
                ObjPrice = 10,
                ObjSellPrice = 5,
                ObjType = 1
            };
            dbContext.objinfo.Add(obj);
            int result = dbContext.SaveChanges();
            if (result > 0)
            {
                Console.WriteLine("保存成功");
            }
        }

        // 删除现在出了问题
        private static void Del()
        {
            arpgdbEntities dbContext = new arpgdbEntities();
            // 先查出来
            var objs = from c in dbContext.objinfo
                       where c.Id == 3
                       select c;
            dbContext.Entry(objs.ToList().FirstOrDefault()).State = EntityState.Deleted;
            if (dbContext.SaveChanges() > 0)
            {
                Console.WriteLine("删除成功");
            }
        }

        private static void Modify()
        {
            arpgdbEntities dbContext = new arpgdbEntities();
            // 先查出来一个
            var objs = from c in dbContext.objinfo
                       where c.Id == 1
                       select c;
            objinfo obj = objs.ToList().FirstOrDefault();
            obj.ObjName = "强化戒指";  // 如果在这儿修改了主键怎么办,如果数据库中没有设置主键怎么办
            obj.ObjIcon = "addd";
            dbContext.Entry(obj).State = EntityState.Modified;
            int result = dbContext.SaveChanges();
            if (result > 0)
            {
                Console.WriteLine("修改成功");
            }

        }

        private static void Select()
        {
            arpgdbEntities dbContext = new arpgdbEntities();
            var objs = from c in dbContext.objinfo
                       select c;
            foreach (objinfo objinfo in objs.ToList())
            {
                Console.WriteLine(objinfo.Id);
            }
        }

  

转载于:https://www.cnblogs.com/FangZhaohu/p/5275273.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EF(Entity Framework)是.NET Framework中的一种ORM(Object Relational Mapping)框架,可以用来简化数据库操作。下面是使用EF Web API进行增删的示例代码: 1. 增加数据: ```csharp [HttpPost] public async Task<IActionResult> AddData([FromBody] Data data) { if (!ModelState.IsValid) { return BadRequest(ModelState); } _context.Data.Add(data); await _context.SaveChangesAsync(); return CreatedAtAction(nameof(GetData), new { id = data.Id }, data); } ``` 2. 删除数据: ```csharp [HttpDelete("{id}")] public async Task<IActionResult> DeleteData(int id) { var data = await _context.Data.FindAsync(id); if (data == null) { return NotFound(); } _context.Data.Remove(data); await _context.SaveChangesAsync(); return NoContent(); } ``` 3. 修数据: ```csharp [HttpPut("{id}")] public async Task<IActionResult> UpdateData(int id, [FromBody] Data data) { if (id != data.Id) { return BadRequest(); } _context.Entry(data).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!_context.Data.Any(e => e.Id == id)) { return NotFound(); } else { throw; } } return NoContent(); } ``` 4. 询数据: ```csharp [HttpGet("{id}")] public async Task<ActionResult<Data>> GetData(int id) { var data = await _context.Data.FindAsync(id); if (data == null) { return NotFound(); } return data; } ``` 以上是EF Web API进行增删的示例代码,需要注意的是,这只是示例代码,具体实现还需要根据具体的业务逻辑进行调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值