c# - 如果我使用内部,Couchbase 会将空内容插入服务器,为什么?
问题描述
我创建了一个简单的插入操作来将文档添加到服务器。我的问题是服务器有 id 和空内容。我通过源代码中的教程创建所有员工
这是源代码
var document = new Document<Person>
{
Id = "P1",
Content = new Person
{
FirstName = "John",
LastName = "Adams",
Age = 21
}
};
var result = bucket.Insert(document);
if (result.Success)
{
Console.WriteLine("Inserted document '{0}'", document.Id);
}
那是我的(在图片中我展示了我在服务器中得到的东西)
IBucket bucket = await ClusterHelper.GetBucketAsync("new_bucket");
var document = new Document<Person>
{
Id = "P1",
Content = new Person
{
Name = "John",
Surname = "Adams",
Age = 21
}
};
var result = await bucket.InsertAsync(document);
if (result.Success)
Console.WriteLine("Inserted document '{0}'", document.Id);
else
Console.WriteLine("Error this document exist");
我想知道,为什么它不适用于对象人?为什么它会保存空内容?(我以源代码为例,也许我做错了什么?
编辑
public class Person
{
internal string Name { get; set; }
internal string Surname { get; set; }
internal int Age { get; set; }
}
如果我写了一些有趣的事情
var document = new Document<dynamic>
{
Id = "dynamic",
Content = new
{
Name = "John",
Surname = "Adams",
Age = 21
}
};
我接受内容但不舒服(只是我的意思)
有趣但 GET、UPDATE 也有同样的问题。Get<Person>
总是返回Null
值。为什么沙发底座有这种奇怪的行为?
重要的
访问修改的问题internal
只需要使用public!但是为什么?有人有想法吗?
解决方案
推荐阅读
- xamarin - Xamarin 使用命令更新视图模型
- android - 如何在颤动中删除TextField底部的空格?
- node.js - Nodemailer SMTP 生成 ENOTFOUND
- google-sheets - 小数部分的 Google 表格递归 ROUND
- c - 使用 Core Audio 实时生成正弦音
- c# - 使用 yield 作为上下文关键字可能会导致问题
- javascript - Vue动态mapGetters
- python - 如何对文件列表进行排序
- javascript - 在'return throw new Error()'中工作'return'语句
- android - 微调器不显示数据