Непонятно, как пытаться получить информацию dB query [duplicate]

Вот несколько способов доступа к родительскому контексту внутри дочернего контекста -
  1. Вы можете использовать функцию bind().
  2. Хранить ссылку на контекст / внутри внутри другой переменной (см. пример ниже).
  3. Использовать функции ES6 Arrow .
  4. Изменить код / function design / architecture - для этого вы должны иметь команду над шаблонами проектирования в javascript.

1. Используйте функцию bind()

function MyConstructor(data, transport) {
    this.data = data;
    transport.on('data', ( function () {
        alert(this.data);
    }).bind(this) );
}
// Mock transport object
var transport = {
    on: function(event, callback) {
        setTimeout(callback, 1000);
    }
};
// called as
var obj = new MyConstructor('foo', transport);

Если вы используете underscore.js - http://underscorejs.org/#bind

transport.on('data', _.bind(function () {
    alert(this.data);
}, this));

2 Сохраните ссылку на контекст / внутри внутри другой переменной

function MyConstructor(data, transport) {
  var self = this;
  this.data = data;
  transport.on('data', function() {
    alert(self.data);
  });
}

3 Функция стрелки

function MyConstructor(data, transport) {
  this.data = data;
  transport.on('data', () => {
    alert(this.data);
  });
}
64
задан bairog 22 December 2015 в 06:17
поделиться

3 ответа

Вы будете использовать метод .ToTable():

modelBuilder.Entity<Department>().ToTable("t_Department");   

Источник: MSDN: http://msdn.microsoft.com/en-us/data/jj591617.aspx

68
ответ дан Jack Allen 21 August 2018 в 07:51
поделиться
  • 1
    я предпочитаю это, потому что я хочу, чтобы все аннотации в одном месте – rajeemcariazo 20 March 2016 в 11:49
  • 2
    существует ли какая-либо проверка того, что таблица существует? мы переименовали таблицу, и ничего не сломалось, это поведение, которое вы ожидаете? он явно не может делать CRUD на переименованной таблице, но, похоже, ничего не сломает ... – AZ Chad 11 May 2016 в 21:12

Использовать метод ToTable:

public class MyEntityMap : EntityTypeConfiguration<MyEntity>
{
    public const string TableName = "MyEntity";

    public MyEntityMap()
    {                   
        ToTable(TableName);

        Property(t => t.Id);
    }
}
6
ответ дан Alexey Zimarev 21 August 2018 в 07:51
поделиться
  • 1
    Я думаю, что выследить ваши сопоставления в классы - это самый чистый подход. – SventoryMang 6 September 2016 в 18:24
  • 2
    Но тогда в вашем методе OnModelCreating вы должны сделать: modelBuilder.Configurations.Add(new MyEntityMap());, где вместо вас вы могли бы просто добавить modelBuilder.Entity<MyEntity>().ToTable("MyEntityTable");, так что нет, это не самый чистый способ, если у вас также не было другого сопоставления для этого объекта. – Serj Sagan 22 May 2017 в 20:22

Вы также можете использовать аннотацию таблицы:

[Table("InternalBlogs")]
public class Blog

Смотрите: Кодовые аннотации первых данных

177
ответ дан Assaf S. 21 August 2018 в 07:51
поделиться
  • 1
    Thx, но если вы внимательно прочитаете мой вопрос - вы увидите, что apptoach прямо посередине этого :) – bairog 30 June 2014 в 05:28
  • 2
    Ты прав. Извини :) – Assaf S. 30 June 2014 в 06:54
  • 3
    Несмотря на то, что аннотация называется «Таблица», она, как представляется, отлично подходит для представлений, а также для таблиц. – Jon Schneider 19 May 2015 в 21:00
  • 4
    @JonSchneider Я просто аргументирую определения здесь, в частности, без причины, но представление представляет собой таблицу только для чтения. – Erik Bergstedt 10 August 2015 в 11:57
  • 5
    Аннотирование таблицы находится в System.ComponentModel.DataAnnotations.Schema ;. – Pétur Ingi Egilsson 25 August 2017 в 08:52
Другие вопросы по тегам:

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