EF Core Skip:() Error on Nullable Column

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Oracle
Post Reply
Simonare
Posts: 5
Joined: Thu 18 Jan 2018 18:15

EF Core Skip:() Error on Nullable Column

Post by Simonare » Tue 24 Jul 2018 07:47

I have Nullable Column LBM_ACC_NO which is mapped to LoanBailman.LbmAccNo.

Here is the Query:

Code: Select all

var loanBailmanRepository = _uow.GetRepository<LoanBailman>();
            var query = loanBailmanRepository.GetQueryable().Where(x => x.LbmBailmanRefno == customerNumber)
                .Select(x => new AccountBaseDto(IncludeBalanceForRestrictedAccounts, false)
                {
                   ...,
                    AccNo = x.Account.AccNo, //sorunlu
	           ...,
                    }
                }).Skip(0).Take(20).ToList();
Here is the mapping syntax:

Code: Select all

Before
modelBuilder.Entity<LoanBailman>().Property<System.Nullable<long>>(x => x.LbmAccNo).HasColumnName(@"LBM_ACC_NO").HasColumnType(@"NUMBER").ValueGeneratedNever();
modelBuilder.Entity<Account>().HasMany(x => x.LoanBailmen).WithOne(op => op.Account).OnDelete(DeleteBehavior.Cascade).IsRequired(false).HasForeignKey(@"LbmAccNo");
modelBuilder.Entity<LoanBailman>().HasOne(x => x.Account).WithMany(op => op.LoanBailmen).OnDelete(DeleteBehavior.Cascade).IsRequired(false).HasForeignKey(@"LbmAccNo");

After (No Errors);
modelBuilder.Entity<LoanBailman>().Property<long>(x => x.LbmAccNo).HasColumnName(@"LBM_ACC_NO").HasColumnType(@"NUMBER").IsRequired().ValueGeneratedNever();
modelBuilder.Entity<Account>().HasMany(x => x.LoanBailmen).WithOne(op => op.Account).OnDelete(DeleteBehavior.Cascade).IsRequired(true).HasForeignKey(@"LbmAccNo");
modelBuilder.Entity<LoanBailman>().HasOne(x => x.Account).WithMany(op => op.LoanBailmen).OnDelete(DeleteBehavior.Cascade).IsRequired(true).HasForeignKey(@"LbmAccNo");

Code: Select all

public class LoanBailman {

	public LoanBailman()
	{
		OnCreated();
	}

	[System.ComponentModel.DataAnnotations.Key]
	[System.ComponentModel.DataAnnotations.Required()]
	public virtual long LbmMyrowid
	{
		get;
		set;
	}
	
	public virtual Nullable<long> LbmAccNo
	{
		get;
		set;
	}

}
When I Use .Skip().Take().ToList() it gives
An exception occurred while reading a database value for property 'LoanBailman.LbmAccNo'. The expected type was 'System.Nullable`1[System.Int64]' but the actual value was of type 'System.String'

When I change my class to :

Code: Select all

public class LoanBailman {

	public LoanBailman()
	{
		OnCreated();
	}

	[System.ComponentModel.DataAnnotations.Key]
	[System.ComponentModel.DataAnnotations.Required()]
	public virtual long LbmMyrowid
	{
		get;
		set;
	}
	
	public virtual long LbmAccNo
	{
		get;
		set;
	}

}
No errors occurs.

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Re: EF Core Skip:() Error on Nullable Column

Post by Shalex » Fri 27 Jul 2018 19:19

We are processing your request.

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Re: EF Core Skip:() Error on Nullable Column

Post by Shalex » Mon 30 Jul 2018 13:49

We cannot reproduce the issue with v9.6.588. Could you please send us a small complete test project for reproducing?

Post Reply