Как я нахожу, какой .emacs файл был загружен?

Я думаю, что ошибка здесь

public int? Id { get; set; }

Идентификатор не должен быть обнуляемым.

Обновление: Я имею в виду, что вы должны написать:

public int Id { get; set; }

Знак вопроса делает ваше свойство обнуляемым, но поскольку это первичный ключ, оно не может быть нулевым. [ 118]

Я сделал небольшой пример здесь:

using System.Collections.Generic;

namespace ConsoleApp2.Models
{
    public class Location
    {
        public int Id { get; set; }

        public string Name { get; set; }

        public IList<Office> Offices { get; set; }
    }
}

Свободный Api

      migrationBuilder.CreateTable(
                name: "Locations",
                columns: table => new
                {
                    Id = table.Column<int>(nullable: false)
                        .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
                    Name = table.Column<string>(nullable: true)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_Locations", x => x.Id);
                });

Я могу добавить новое местоположение без проблем.

using ConsoleApp2.Models;
using System.Collections.Generic;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            MyDbContext _c = new MyDbContext();

            List<Office> list = new List<Office>()
            {
                  new Office()
                {
                    OfficeName = "Reception"
                }
            };


            Location l = new Location()
            {
                Name = "New York",
                Offices = list
            };

            _c.Locations.Add(l);
            _c.SaveChanges();
        }
    }
}

Я использую .net core 2.1 с EFcore 2.2.2.

Я надеюсь, что помощь.

29
задан Török Gábor 14 May 2009 в 19:47
поделиться

3 ответа

Используемый файл инициализации хранится в переменной 'user-init-file'. Чтобы увидеть это использование «описать-переменную» (Ch v), введите «user-init-file», и он отобразит используемый файл.

50
ответ дан 28 November 2019 в 01:20
поделиться

Если вы работаете в Linux, вы можете попробовать это, чтобы увидеть, какие файлы открывает emacs при запуске.

sudo strace -o /tmp/emacs.txt -e open emacs
5
ответ дан 28 November 2019 в 01:20
поделиться

Вы можете попробовать посмотреть, какой файл найден:

C-x C-f ~/.emacs RET

~ преобразуется в значение переменной среды HOME . Emacs ищет .emacs , затем .emacs.elc (байтовая скомпилированная версия), затем .emacs.el , затем ~ / .emacs .d / init.elc и ~ / .emacs.d / init.el . В этой документации показаны альтернативы. Это также зависит от переменных среды LOGNAME и USER .

Вы также можете проверить содержимое буфера * Messages * - хотя вы должны установить (setq message-log-max t) (если можете), чтобы гарантировать, что все Сообщения сохраняются. Внутри этого буфера есть строки следующего вида:

Загрузка /home/tjackson/.emacs.tjackson.

6
ответ дан 28 November 2019 в 01:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: