簡體   English   中英

如何將字符串數組屬性轉換為字符串以以逗號分隔行mongo db的形式保存在sql server中到SQL Server C#

[英]How to convert string array property to string to save in the sql server as comma seperated row mongo db to sql server C#

我在mongo db“計算機”中有一個集合,我想使用實體框架檢索集合並將其保存到sql服務器中。 問題是集合有一個數組對象,我想將其轉換為字符串並保存。 請幫助,謝謝。 SQL Server跳過字符串[]憑據,並插入其余部分。

Mongo數據庫集合

{
"_id": ObjectId('57852fcsdsdsdsd2662a0ce400'),
"machineName": "AAADESKTOP",
"updated": ISODate('2017-05-17T15:09:39.399Z'),
"__v": 111,
"credentials": [
    "####################",
    "####################",
    "#################",
    "#####################"
],
"clientVersion": "2.12.2",
"lastActivity": ISODate('2017-05-17T16:30:50.165Z'),
"secret": "####################"

}

**C# code**


    var client = new MongoClient();

    var db = client.GetDatabase("Computerdata");
    var collection = db.GetCollection<Computers>("computers");

    var data = collection.Find(new BsonDocument()).ToListAsync().Result;

    foreach (var item in data)
    {
        EntityFramewrokContext.Computers.Add(item);
        EntityFramewrokContext.SaveChanges();

    }




    public class Computers
{
    [BsonId]
    [BsonRepresentation(BsonType.ObjectId)]
    [Key]
    public string Id { get; set; }
    public string machineName { get; set; }
    [BsonDateTimeOptions(Representation = BsonType.DateTime)]
    public DateTime updated { get; set; }
    public int version { get; set; }
    public string[] credentials { get; set; } 
    public string clientVersion { get; set; }
    [BsonDateTimeOptions(Representation = BsonType.DateTime)]
    public DateTime lastActivity { get; set; }
    public string secretKey { get; set; }

}

如果您在SQL Server中有一個名為Computer的表(要將這些記錄寫入其中),則還應該創建一個名為ComputerCredential的表,該表具有以下各列:

CredentialId  int
ComputerId    int
Credential    nvarchar(200)

然后,應為陣列中的每個憑據創建一個ComputerCredential實體。

如果您拼命想按照自己的方式去做。 然后:

var creds = String.Join(",", computer.credentials);

這將使用憑據數組,並將它們變成單個逗號分隔的字符串。

檢索值時,您可以執行以下操作:

var creds = commaSepCredentials.Split(','); 

檢索數組。 但是不要這樣做,請選擇第一個選項,並了解SQL Server中的關系和聯接。 這是關系數據庫中的強大功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM