C# SQL 服务器输入

C# SQL Server input

我正在使用 C# 中的 SQL 数据库进行测试。我按照 MSDN 的说明进行操作。这是代码:

using System;
using System.Collections.Generic;
using System.Data.Linq;
using System.Data.Linq.Mapping;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LinqConsoleApp
{
    [Table(Name = "DesanoDict1")]
    public class DesanoDict1
    {
        [Column(Storage = "_Desano")]
        public string Desano
        {
            get;
            set;
        }

        [Column(Storage = "_Portuguese")]
        public string Portuguese
        {
            get;
            set;
        }

        [Column(Storage = "_English")]
        public string English
        {
            get;
            set;
        }

        [Column(Storage = "_Spanish")]
        public string Spanish
        {
            get;
            set;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            // Use a connection string.
            DataContext db = new DataContext
                (@"C:\Users\FieldLingLab\Documents\Visual Studio 2015\Projects\GUI Test\GUI Test\Resources\Desano\Desano.mdf");
            Table<DesanoDict1> dd1 = db.GetTable<DesanoDict1>();

            IQueryable<DesanoDict1> DesQuery = from des in dd1
                                               select des;


            foreach(DesanoDict1 dd in DesQuery)
            {
                Console.WriteLine("Desano={0}, Portuguese={1}. English={2}, Spanish={3}", dd.Desano, dd.Portuguese, dd.English, dd.Spanish);
            }
            Console.ReadLine();
        }
    }
}

数据库是来自 SQL Server 2014 的 mdf 文件。它是一个 table 有四列(德萨诺语、葡萄牙语、英语、西班牙语)并且它们每个都有单词(我相信) UTF-16 编码(SSMS 中的 nvarchar)。我遇到的问题是,当我 运行 时,GetTable 行出现 运行 时间错误,提示 "Bad storage property: "_Desano。"" 我哪里出错了?

不确定,因为我没有 运行 它,但根据 msdn 示例,看起来您实际上需要定义存储私有字段。像这样

private string _Desano;

[Column(Storage = "_Desano")]
public string Desano
{
    get;
    set;
}