精华内容
下载资源
问答
  • linq查询数据库
    2022-03-28 15:18:29

    创建了.net core webapi项目,通过EF保存数据,数据保存后外部修改了数据库的内容,但是项目中查询的仍然是保存时的数据。

    解决的方法是:在查询的语句中添加AsNoTracking()后就可以查询到修改后的数据了。

    例如

    EFContext.table.AsNoTracking().where(i=>i.id==id);

    更多相关内容
  • 如何:使用 LINQ 查询数据库 (Visual Basic)How to: Query a Database by Using LINQ (Visual Basic)07/20/2015本文内容使用语言集成查询 (LINQ) 可以轻松地访问数据库信息和执行查询。Language-Integrated Query ...

    如何:使用 LINQ 查询数据库 (Visual Basic)How to: Query a Database by Using LINQ (Visual Basic)

    07/20/2015

    本文内容

    使用语言集成查询 (LINQ) 可以轻松地访问数据库信息和执行查询。Language-Integrated Query (LINQ) makes it easy to access database information and execute queries.

    下面的示例演示如何创建一个新应用程序,用于对 SQL Server 数据库执行查询。The following example shows how to create a new application that performs queries against a SQL Server database.

    本主题中的示例使用 Northwind 示例数据库。The examples in this topic use the Northwind sample database. 如果你的开发计算机上没有此数据库,可以从 Microsoft 下载中心进行下载。If you do not have this database on your development computer, you can download it from the Microsoft Download Center. 有关说明,请参阅 下载示例数据库。

    备注

    以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。Your computer might show different names or locations for some of the Visual Studio user interface elements in the following instructions. 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。The Visual Studio edition that you have and the settings that you use determine these elements. 有关详细信息,请参阅个性化设置 IDE。For more information, see Personalizing the IDE.

    创建与数据库的连接To create a connection to a database

    在 Visual Studio 中, Server Explorer / Database Explorer单击Server Explorer / "视图" 菜单上的 "服务器资源管理器"数据库资源管理器打开服务器资源管理器数据库资源管理器。In Visual Studio, open Server Explorer/Database Explorer by clicking Server Explorer/Database Explorer on the View menu.

    右键单击服务器资源管理器数据库资源管理器中的 "数据连接" / Database Explorer ,然后单击 "添加连接"。Right-click Data Connections in Server Explorer/Database Explorer and then click Add Connection.

    指定与 Northwind 示例数据库的有效连接。Specify a valid connection to the Northwind sample database.

    添加包含 LINQ to SQL 文件的项目To add a project that contains a LINQ to SQL file

    在 Visual Studio 中的“文件”菜单上,指向“新建”,然后单击“项目”。In Visual Studio, on the File menu, point to New and then click Project. 选择 Visual Basic Windows 窗体应用程序 作为项目类型。Select Visual Basic Windows Forms Application as the project type.

    在 “项目” 菜单上,单击 “添加新项”。On the Project menu, click Add New Item. 选择 " LINQ to SQL 类 " 项模板。Select the LINQ to SQL Classes item template.

    命名文件 northwind.dbml。Name the file northwind.dbml. 单击“添加” 。Click Add. 将为 northwind 文件打开对象关系设计器 (O/R 设计器) 。The Object Relational Designer (O/R Designer) is opened for the northwind.dbml file.

    添加要查询到 O/R 设计器的表To add tables to query to the O/R Designer

    在服务器资源管理器 / 数据库资源管理器中,展开与 Northwind 数据库的连接。In Server Explorer/Database Explorer, expand the connection to the Northwind database. 展开 “表” 文件夹。Expand the Tables folder.

    如果关闭了 O/R 设计器,则可以通过双击先前添加的 northwind 文件来重新打开它。If you have closed the O/R Designer, you can reopen it by double-clicking the northwind.dbml file that you added earlier.

    单击 "Customers" 表,并将其拖到设计器的左窗格中。Click the Customers table and drag it to the left pane of the designer. 单击 "Orders" 表,并将其拖到设计器的左窗格中。Click the Orders table and drag it to the left pane of the designer.

    设计器将 Customer Order 为您的项目创建新的和对象。The designer creates new Customer and Order objects for your project. 请注意,设计器将自动检测表之间的关系,并创建相关对象的子属性。Notice that the designer automatically detects relationships between the tables and creates child properties for related objects. 例如,IntelliSense 将显示 Customer 对象具有 Orders 与该客户相关的所有订单的属性。For example, IntelliSense will show that the Customer object has an Orders property for all orders related to that customer.

    保存更改并关闭设计器。Save your changes and close the designer.

    保存你的项目。Save your project.

    添加代码以查询数据库并显示结果To add code to query the database and display the results

    从 " 工具箱" 中,将 DataGridView 控件拖动到项目的默认 Windows 窗体 "Form1"。From the Toolbox, drag a DataGridView control onto the default Windows Form for your project, Form1.

    双击 "Form1",将代码添加到 Load 窗体的事件中。Double-click Form1 to add code to the Load event of the form.

    在将表添加到 O/R 设计器后,设计器将 DataContext 为您的项目添加一个对象。When you added tables to the O/R Designer, the designer added a DataContext object for your project. 除每个表的单个对象和集合外,此对象还包含访问这些表所需的代码。This object contains the code that you must have to access those tables, in addition to individual objects and collections for each table. DataContext项目的对象根据 .dbml 文件的名称进行命名。The DataContext object for your project is named based on the name of your .dbml file. 对于此项目,该 DataContext 对象的名称为 northwindDataContext 。For this project, the DataContext object is named northwindDataContext.

    您可以在代码中创建的一个实例 DataContext ,并查询由 O/R 设计器指定的表。You can create an instance of the DataContext in your code and query the tables specified by the O/R Designer.

    将以下代码添加到 Load 事件,以查询作为数据上下文的属性公开的表。Add the following code to the Load event to query the tables that are exposed as properties of your data context.

    Dim db As New northwindDataContext

    Dim londonCusts = From cust In db.Customers

    Where cust.City = "London"

    Select cust

    DataGridView1.DataSource = londonCusts

    按 F5 运行项目并查看结果。Press F5 to run your project and view the results.

    下面是一些可以尝试执行的其他查询:Following are some additional queries that you can try:

    Dim londonCustOrders = From cust In db.Customers,

    ord In cust.Orders

    Where cust.City = "London"

    Order By ord.OrderID

    Select cust.City, ord.OrderID, ord.OrderDate

    DataGridView1.DataSource = londonCustOrdersDim custs = From cust In db.Customers

    Where cust.Country = "France" And

    (cust.CompanyName.StartsWith("F") Or

    cust.CompanyName.StartsWith("V"))

    Order By cust.CompanyName

    Select cust.CompanyName, cust.City

    DataGridView1.DataSource = custs

    请参阅See also

    展开全文
  • linq查询数据库实例.pdf
  • linq查询数据库实例[借鉴].pdf
  • LINQ查询数据库

    LINQ提供了查询表达式,它使用SQL风格的语句执行查询并生成结果集。然后,可以遍历这个结果集并进行相应的处理。为了使用LINQ,被查询的对象必须是"可枚举"的,它们必须实现了IEnumerable接口的集合。LINQ to SQL能根据你定义的类创建它自己的可枚举对象集合,这些类直接映射到数据库中的表,它们称为实体类。DataContext类负责实体类与数据库中表的关系,DataContext对象能自动控制数据库连接。

    SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
    builder.DataSource = "(local)";// ".\\MSSQLSERVER";
    builder.InitialCatalog = "Northwind";
    builder.IntegratedSecurity = true;
    Northwind northwindDB = new Northwind(builder.ConnectionString);
    try
    {
        Console.WriteLine("Please enter a customer ID(5 characters):");
        string customerId = Console.ReadLine();
        var ordersQuery = from o in northwindDB.Orders where String.Equals(o.CustomerID, customerId) select o;
        foreach(var order in ordersQuery)
        {
            if (order.ShippedDate == null)
            {
                Console.WriteLine("Order {0} not yet shipped\n\n", order.OrderID);
            }
            else
            {
                Console.WriteLine("Order: {0}\nPlaced:{1}\nShipped: {2}\n" +
                    "To Address: {3}\n{4}\n{5}\n{6}\n\n", order.OrderID, order.OrderDate, order.ShippedDate,
                    order.ShipName,order.ShipAddress, order.ShipCity, order.ShipCountry);
            }
        }
        Console.ReadLine();
    }
    catch (Exception ex)
    {
        Console.WriteLine("Error accessing the database: {0}", ex.Message);
        Console.ReadLine();
    }
    
    
    [Table(Name ="Orders")]
    public class Order
    {
        [Column(IsPrimaryKey =true,CanBeNull =false)]
        public int OrderID { get; set; }
        [Column]
        public string CustomerID { get; set; }
        [Column]
        public DateTime? OrderDate { get; set; }
        [Column]
        public DateTime? ShippedDate { get; set; }
        [Column]
        public string ShipName { get; set; }
        [Column]
        public string ShipAddress { get; set; }
        [Column]
        public string ShipCity { get; set; }
        [Column]
        public string ShipCountry { get; set; }
    }
    public class Northwind : DataContext
    {
        public Table<Order> Orders;
        public Northwind(string connectionInfo):base(connectionInfo)
        {
        }
    }

    展开全文
  • 大部分的网页或者软件对于数据的操作都离不开数据库,对于数据的查询,C#中可以使用Linq来进行数据的查询Linq语句有很多种写法,但都脱离不了必须的关键字,例如:form,select,where等等 下面这个例子是对于...

    直接举例:

                
    
    后台代码
    //这是我某个控制器中的查询语句,主要是在数据库中查询出指定的“图片地址”
    var Images1 = (from m in _context.CarImage where m.图片名称=="21" select m.图片 
    地址).Single();
                string Images2 = Images1.ToString();
                ViewData["Images2"]=Images1.ToString();
    
    
    前台代码
    
    
    					<h2>————热门车型————"@ViewData["Images2"]"</h2>
    					<h3><span>超前科技,智慧相伴</span></h3>

     然后这是测试效果,OK

     实战:

    查询:用户ID,查询用户余额

    int getUserId = (int)(from m in _context.Login where m.UserName == UserName select m.LoginId).Single();//查找用户Id
    int getMoney = (int)(from x in _context.银行卡 where x.用户Id == getUserId select x.余额).Min()-10000;//扣除金额

    插入数据:

    当用户余额大于0时,执行数据库插入数据操作。

    if (getMoney >=0)
                {
                    _context.SalesList.AddRange
                         (
                         new SalesList()
                         {
                             UserId = getUserId,
                             CarsId = 1,
                             StaffId = 1,
                         }
                         );//用户购买订单数据写入完成
                    _context.银行卡.AddRange(
                        new 银行卡()
                        {
                            姓名 = UserName,
                            银行卡号 = Card,
                            余额 = getMoney,
                            用户Id = getUserId,
                        }
                        );
                    _context.SaveChanges();
                }

    修改数据:

                var getcarnum = from a in _context.Car where a.CarId == 2 select a;
                foreach (var i_ in getcarnum)
                {
                    i_.剩余数量=i_.剩余数量-1;
                }//修改操作,秘传=》

    未完待续......................

    相关基础知识:

     大部分的网页或者软件对于数据的操作都离不开数据库,对于数据的查询,C#中可以使用Linq来进行数据的查询。
    Linq语句有很多种写法,但都脱离不了必须的关键字,例如:form,select,where等等
    下面这个例子是对于数据库的一个简单的单表查询

    关键字from

    from表明数据从哪里来。
    from 后面跟着的是一个自命名,这个自命名是一个范围变量。例如例子中的tbAcademe,就是范围变量,这个可以随便命名,但在命名的时候最好是命名一些具有实制意义的名字,方便以后的维护。最好不要用中文!

    关键字in

    in 表示在哪里查询,英文翻译就是“在…里面”,这个就没什么好说明的
    in 后面跟着的是数据源,就是数据的源头,就比如一条河流,河流再长也需要一个源头才能形成一条河流。例子中的 myModel.SQ_Academe,myModel是通过实例化数据库得来的一个自命名, 
    SQ_Academe 是数据库里面的一个数据表,

    关键字select

    selsct 表明查询数据。对于计算机来说,它并不知道你写的这些代码有什么用,这时候就需要一个关键字select 来提示它,需要查询数据,select之后就是需要查询的表,前面范围变量命名是什么,select后面就写什么,指定查询的地方。

    关键字 ToList

    括号外的ToList(),指定查询出来的数据以一个表格的形式返回到dbTab

    关键字 Count

    Count 指定查询数据并统计整个数据表有多少条数据,然后把统计出来的数据返回到dbTab

    关键字 Single

    Single 指定查询单条数据,这个一般配合条件语句使用,然后把找到的单条数据返回到dbTab

    上面的例子中多了一个条件语句,而where是关键字

    关键字 where
    where 是条件语句,表明查询数据的时候根据where后面的条件去查询

    上面的例子中表明查询数据要根据视图传到控制器的ID去查询
    AcademeID,是控制器的方法接收视图传来的参数,以上面这个例子来说就是控制器接收页面传到控制器的ID。

    因为ID是整数,所以要用int类型来接收

    关键字 orderby
    orderby 表明查询出来的数据要进行排序

    进行排序就要指明是要根据升序排序还是降序排序,所以orderby后面是根据什么条件去排序,条件后面就是一个关键字,这个关键字指明是升序还是降序
    上面的例子是根据数据表的ID去排序并且是降序排序

    关键字ascending descending
    ascending 指明排序是按照升序排序
    descending 指明排序是按照降序排序

    以上这是这位老哥的

    (26条消息) C# linq语句解析 数据查询_3的奇迹的博客-CSDN博客_c#linq语句

    展开全文
  • 声明:本博客转载来源于李天平老师的《项目中的...所有的LINQ查询操作都可以由以下3个不同的操作组成: 【1】获取数据源 【2】创建查询 【3】执行查询 以下我们将各个步骤慢慢分析一下: using System.Xml.Linq; using
  • 一个使用Linq查询数据库的Demo,内有数据库建库和见表脚本
  • LINQ转DB LINQ to DB是最快的LINQ数据库访问库,在POCO对象和数据库之间提供了一个简单,轻便,快速且类型安全的层。 从体系结构上讲,它比Dapper,Massive或PetaPoco之类的微型ORM领先一步,因为您可以使用LINQ...
  • 场景:当数据库某个字段是字符串时间类型,需要作为条件查询时。 使用 Convert.ToDateTime(i.Dtt) >= “2022-02-23” 提示无法识别 Convert.ToDateTime 因为转为sql时 无法识别该C#函数。 解决办法: i.Dtt....
  • [其他类别]南充人NET3.5 LINQ操作数据库实例_net35linq.zip源码ASP.NET网站源码打包下载[其他类别]南充人NET3.5 LINQ操作数据库实例_net35linq.zip源码ASP.NET网站源码打包下载[其他类别]南充人NET3.5 LINQ操作...
  • 1.增加功能(主窗口) using System; using System.Collections.Generic;...using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace 基于LINQ的增删查改 {
  • linq实现跨数据库查询

    2020-10-14 08:49:56
    要做个跨数据库查询,sql语句如下 select n.info_id,n.title,t.txt from news n left join hqtcnewstype.dbo.newstype t on t.info_id=n.sys order by n.uptime desc 结果  如果建立2个linq to sql类,使用...
  • 我把LINQ的映射文件放到了DAL这个层中,映射文件自动由VS2008生成,在原来的机器上一直正常,一点问题都没有,当我把程序移到了另外一台机子上面时候,情况就发生了变化,怎么都连接不上数据库,这个问题折腾了我好...
  • Linq数据库增删改查Linq是一种查询语言,集成包含在formwork中,包含在C#语言中,它的作用是降低查询的门槛,提高开发效率,是我们必须掌握的技术之一,下面是我自己对linq数据库操作的方法,与大家分享一下。...
  • 使用LINQ访问数据库

    2009-04-25 18:35:24
    使用Linq访问数据库技术电子书,有视屏但太大不能上传。
  • 目的:熟悉LINQ操作步骤,掌握基本的操作技术。 环境:安装SQLSERVER+VS019. 步骤: 1、打开VS2019,新建一个.NET Framework 4.0的项目LinqTest。 2、右键点击LinqTest项目,然后选择【添加】--【新建项】。 ...
  • LINQ数据查询

    千次阅读 2019-02-15 12:00:48
    LINQ表达式查询(单一查询) public static void SoleLINQInquire() { // 使用LINQ,查询武学等级大于8的武林高手(表达式写法) var res = from m in masterList // from后面设置需要查询的集合 where m.Level...
  • LINQ操作数据库

    2012-05-03 16:15:22
    LINQ操作数据库,Vs2008,Linq,不错的快下载吧
  • 改之前: 10000条数据,17.2S 修改后:
  • linq去重 A表 主键 AId 名称 Name 外键 BId B表 主键 BId 名称 Name //筛选在A表中BId相同的数据,只取一条 query=(select a in A join b in B on a.BId=b.Bid select new { AId=AId, Name=...
  • 1、在App_Code下面添加新项“LINQ to SQL 类” ...4、将数据库内需要操作的表拖入LINQ to SQL 类的设计视图,并保存 5、新建数据绑定控件例如ListView1 6、后台Page_Load编写代码: var DB = new MyLinqDB
  • NET3.5 LINQ操作数据库实例_aspx开发教程
  • [其他类别]南充人NET3.5 LINQ操作数据库实例_net35linq.zip,[其他类别]南充人NET3.5 LINQ操作数据库实例_net35linq,NET35LINQ,date,ajaxnet.sql,ajaxnet.bak,说明.txt,web,图.jpg,web.config,App_Code,DataClasses....
  • ASP.NET源码——南充人NET3.5 LINQ操作数据库实例.zip
  • [其他类别]南充人NET3.5 LINQ操作数据库实例_net35linq(ASP.NET源码).rar
  • C# 使用Linq递归查询数据库遇到的问题及解决方法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,928
精华内容 23,171
关键字:

linq查询数据库