.NET 中从Orcale中查询数据并自动映射

因为Orcale中表的字段都是大写,但是我们自己在使用的时候,大多使用驼峰命名等,所以就需要进行映射,在net环境下,使用Dapper进行自动映射就很重要

代码如下

想要映射的类

using System.Runtime.Serialization;

namespace Serialization
{
    [DataContract]
    public class Person
    {
        [DataMember(Name ="ID")]
        public int Id { get; set; }

        [DataMember(Name = "NAME")]
        public string Name { get; set; }

        [DataMember(Name = "AGE")]
        public int Age { get; set; }
    }

}
using System;
using System.Collections.Generic;
using System.Data;
using System.Runtime.Serialization;
using Dapper;
using Oracle.ManagedDataAccess.Client;
using Serialization;

class Program
{
    static void Main()
    {
        List<Person> people = FetchDataFromOracle();

        // 输出查询结果
        Console.WriteLine("Fetched People:");
        foreach (var person in people)
        {
            Console.WriteLine($"Id: {person.Id}, Name: {person.Name}, Age: {person.Age}");
        }
    }

    static List<Person> FetchDataFromOracle()
    {
        string connectionString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=servername)));User Id=username;Password=password;"; // 替换为你的 Oracle 连接字符串

        using (IDbConnection dbConnection = new OracleConnection(connectionString))
        {
            dbConnection.Open();

            // 使用默认映射,Dapper 会自动将数据库列映射到实体类属性
            string query = "SELECT ID, NAME, AGE FROM person";
            return dbConnection.Query<Person>(query).ToList();
        }
    }
}

其中主要是 dbConnection.Query<Person>(query).ToList();来进行转换映射

在数据库中查询出来如下

 

程序运行之后断点 

 

可以看出,在此处,就已经映射成了大驼峰命名了 

 去除断点之后

这样就可以看出,映射完成 

如果有误,请留言交流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值