万金流
以码会友。 吾Q:578751655。 水平有限,轻喷,谢!
随笔 - 189,  文章 - 0,  评论 - 7,  阅读 - 14万

vs2017,sqlserver2017(localdb)调试通过。
在sqlserver中创建数据库d1,表t1如下:

录入数据如下:

在vs新建任意项目,此处以控制台为例。
添加数据模型Model1:

为了尽量少写代码,选择下图内容(该模式似乎没有迁移问题,挺好的):

说明:连接字符串可以在代码中自行设置,所以下面选了“否”并且没有勾选复选框。

选择需要使用的表:

完成

项目里自动添加Model1.cs和t1.cs。一个是数据库对象(含表),一个是表里的记录对象。

把Model1.cs当中的‘base("name=Model1")’改成用连接字符串

@"server=(localdb)\mssqllocaldb;initial catalog=d1;user ID=sa;password=1;"

表示:

可以看到两个文件中声明的属性和类,一个表示表,一个是记录。

至此,完成模型和数据库部分,可以写主程序了。代码和效果如下:

复制代码
static void Main(string[] args)
        {
            Model1 m = new Model1();//声明数据库对象m
            //利用linq语句筛选记录。类似于select * from t1
            var students = from x in m.t1 select x;
            //利用lamda表达式筛选出符合条件的记录
            t1 student = m.t1.First(x => x.nl > 18);
            foreach (var item in students)
            {
                Console.WriteLine($"{item.xm}\t{item.nl}\t{item.cj1}\t{item.xb}");
            }
            Console.WriteLine($"{student.xm}\t{student.nl}\t{student.cj1}\t{student.xb}");
            Console.ReadKey();
        }
复制代码

 



posted on   万金流  阅读(2410)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现

点击右上角即可分享
微信分享提示